改变重要性是否重要?

时间:2015-10-13 07:50:48

标签: git git-rebase

我有一个回购,有开发分支。两个开发人员在他们的分支上工作,b1和b2都来自开发分支。工作和完成后,继续推动对原点的更改。然后这些分支合并到原点开发(Bit-Bucket)。

我想问一下,如果在每次合并后将它们的分支重新启动它们是否重要吗?或者只是继续进行越来越多的提交和推送,直到完成该功能?这里应该采取什么正确的策略?

2 个答案:

答案 0 :(得分:2)

没有'正确'的策略。

每次开发分支都有新的提交时,他们可以将b1 / b2分支重新绑定到开发分支。这有两个好处:

  1. 立即以小块修复合并冲突。
  2. 开发人员确信他的代码适用于在开发其功能时推送到遥控器的任何内容。
  3. 或者,他们可以分支开发分支,在b1 / b2上实现他们的功能,并且在他们完成该功能之前不做任何变基。这有一个好处:

    1. 当他们正在处理他们的功能时,没有合并冲突等的麻烦,让他们更专注于他们手头的任务。
    2. 然而,这也有两个缺点

      1. 当他们的功能完成时,他们需要在最后进行重组。他们不知道在此期间对开发分支进行了多少次提交,这可能使这个任务变得越来越重要 - 更多的承诺,更多潜在的合并冲突,它可能越混乱,工作就越多。

      2. 在此期间合并到开发分支中的代码可能会破坏它们在其功能中所依赖的代码。

      3. 这实际上取决于你/他们想要的工作方式。他们是否希望自己的工作流程不被打扰? - >最后一次,最后一次。他们是否想要保证他们的代码可以与同时推送的内容一起使用? - >经常变坏。

答案 1 :(得分:0)

我认为您的工作流程值得怀疑。

这是一些有效的工作流程:
1.开发人员开始研究功能F1
2.开发人员从开发分支创建分支f1 3.开发人员对分支f1进行更改。
4.当开发人员完成功能f1然后:
    - 开发人员将分支f1合并到开发分支中     - 开发者删除分支f2

推荐变基的另一种情况是:
1.开发人员A开始研究功能F1
2.开发人员A从开发分支创建分支f1 3.开发者A对分支f1进行了更改 4.开发人员B对开发分支进行更改,并且该更改对于分支f1具有重要意义 5.从开发分支转换到f1开发人员带有开发分支的rebase分支f1 6.开发人员A对分支f1进行了更多更改 7.当开发人员完成功能f1然后:
    - 开发人员将分支f1合并到开发分支中     - 开发者删除分支f2

因此,在功能完成时,通常会将功能合并到父分支中。之后,该分支最好在开始开发下一个功能时删除并创建新分支。在开发过程中,在上下文中重新定位可以很好地从父分支进行更改。