代码之家  ›  专栏  ›  技术社区  ›  machineghost

哪些是最常见的Git分支方案/提交生命周期?

  •  9
  • machineghost  · 技术社区  · 15 年前

    让我举一个我们公司的例子:

    1. 开发人员在本地向自己的分支提交
    2. 开发人员将提交推送到他们的远程,在那里,一个连续的构建系统检查它,另一个开发人员检查它
    3. 如果review/build通过,提交将合并到QA分支(如果失败,则在review/build通过之前进行更多的提交)
    4. 如果提交失败QA,则会进行一次恢复提交以将其取出
    5. 在准备好足够的QA提交之后,我们的主分支获得提交(QA分支基于它,因此不需要合并)
    6. 发布后,开发人员将其分支重新定位到主分支(同时获取其以前的提交和其他开发人员的提交)

    现在,这个系统有一些问题;我将在评论中注意到一些问题,但我并不是真的在寻找“请为我修复我们的系统”,我只是想看看我们可以使用哪些其他分支选项来代替,以便我可以权衡各种可能性。

    3 回复  |  直到 15 年前
        1
  •  6
  •   Chris Kooken    15 年前

    我现在已经管理了几个使用Git的团队,我们已经制定了一个非常适合我们的策略。

    • 大师总是一个复制品,什么是在生产。当代码被释放时,当前分支将快速转发到master,并添加一个标记,以便及时标记释放,如果需要,我们可以获取代码。
    • 开发人员可以自由地按照他们的分支工作,但是对于功能分支,我们通常为每个功能都有一个分支,并且多个开发人员在该分支之间合并以共享该功能的工作。
    • 当发布候选时,会创建一个RC_XXX分支,并且足够远的特征分支都会合并到其中。然后对其进行测试,并在此基础上进行缺陷修复。
    • 说到做到,RC_XXX分公司就可以投入生产了,在它“坚持”了几天之后,我们就把它推广到master,然后新的功能分公司就建立在它的基础上。

    这工作得很好,因为只需从master分支,就可以轻松创建和部署针对生产的热修复,而且开发人员可以针对功能分支分支进行分支,以便在必要时引入依赖项。

        2
  •  1
  •   Å imon Tóth    15 年前

    这个呢(我忽略了开发人员在他们的机器上有什么):

    • 创建了新的QA分支,所有开发人员都重新调整了基础
        3
  •  0
  •   Community Mohan Dere    9 年前

    我还不是一个Git顾问,但根据经验,开发人员应该更经常地(而不仅仅是“发布之后”)调整工作。
    否则,就像你在评论中提到的,会导致 git revert “(这是有效的,但应该是一种例外情况,而不是一种常见的解决办法)。

    点对点协作是可能的,但是需要遵守一些规则 requires setting up a bare repo 和 local protocol .

    推荐文章