git workflow 请教

  • z
    zinwa.lin
    大家都是遵循哪套工作流程? github, gitlab?
    假设有 master, develop, feature 三个分支. 其中 feature 是从 develop 创建出来, 在开发过程中, feature 分支需要保持跟 develop 分支同步吗?

    我现在的操作流程是 feature 分支每次都从 develop 分支同步(用的是 git pull origin develop), 我的依据是这样后面 feature 合并到 develop 时, 冲突会少很多.

    同事说开发过程中 feature 不需要从 develop 分支pull
  • j
    jckimi
    本地,古老的Makefile
  • w
    wxdwxd
    gitlab
  • z
    zinwa.lin
    回复3#wxdwxd


    有文章吗?
  • w
    wxdwxd
    1、切feature开发,要上线前,1.1合dev到feature,这一步是避免feature合到dev是冲突过多,有冲突以dev为准,feature被冲掉的代码另外在写
    1.2feature合回dev
    2、切release(原则上,这个分支存在时间在1-2天),中间有hotfix要合master的代码
    3、release代码上线
    4、release合并到dev. master
  • s
    songco
    我们人少代码基础大, 冲突比较少, 而且比较好merge

    feature从branch创建, 完成后直接pull request, 90%的情况下不用手动merge
  • m
    m2
    参考一下 大名鼎鼎的Vincent Driessen的模型:


    工具
    https://danielkummer.github.io/git-flow-cheatsheet/index.html
  • z
    zinwa.lin
    回复7#m2


    我们最近也在应用这个流程, 谢谢.
  • z
    zinwa.lin
    回复8#deadlili


    感谢
  • j
    jqustc
    没有Gerrit 嘛?propergate 啊
  • v
    veblen
    多数项目用不了那么复杂的流程。
    MASTER作为主开发branch,然后按milestone到点切出RELEASE分枝做版本分布。
    多用git submodule,就不需要搞什么feature分枝merge来merge去了。
  • w
    wxdwxd
    回复12#veblen


    用git submodule代替feature是怎么个用法?求指导一波
  • v
    veblen
    就是工程要尽量模块化啊,各个功能都不同目录下面,并做一个个git submodule。一旦功能可以进行集成的时候,主repo就通过变更submodule的commit id的方式来集成。
    而且submodule还要嵌套来支持层次化。
    所以,要实际这样方式的关键的前提就在于项目的模块设计要做好。