修正共享功能分支的Git工作流程?
我正试图找出适合这种情况的正确工作流程:
在共享回购中,我们有这些分支:
-master
-feature
功能分支是一个共享分支,因为许多开发人员正在共同开发新功能。 他们正在积极推动他们对功能分支的改变。
我试图避免那个功能最终被重新合并到主人那一天的'冲突地狱'。 目前,我看到一些选择:
1) 主动合并主要功能,并经常做。 然而,这不是在git文档中推荐的,我开始明白为什么。 当我尝试这个时,我似乎一遍又一遍地解决了同样的冲突。
2) 以某种方式使用rebase。 我已经读过这个,但它看起来不会工作,因为功能分支实际上是共享的。 所需要的只是一个开发人员进行2次rebase,而其他开发人员可能会因不匹配的历史记录而产生冲突。
3) 将特性分支转变为一个集成分支,让开发人员使用他们自己的独立功能分支和分派来保持事物的健全。
4)完全不同的东西?
对于共享分支,我会选择#3,并将其用作“集成”分支来巩固其工作。
开发商将不得不使用底垫中不断重播他们的private
之上分支feature
合并回到他们的工作之前feature
,这样,它们分别是:
private
分支到feature
)变得微不足道(通常是快进) (如“ git rebase
vs. merge
”中所述)
我们的想法是,一旦feature
分公司在合并master
,没有更多的贡献是公认的feature
(分支被“冻结”),您可以安全地变基其上的顶级master
或直接将其合并到master
。
然后开始一个新的feature
分支(如果需要,它可以实际上并行启动前一个feature
分支)
您可以使用rerere
来处理多次看到的合并冲突。
(我不太热衷于选项1,2或3,所以我试图找到一个更好的工作流程;因此我在下面描述我是如何处理问题的,希望有人会告诉我)
人们可以明智地将修补程序队列返回到本地的功能分支。
链接地址: http://www.djcxy.com/p/49269.html上一篇: Correct Git workflow for shared feature branch?
下一篇: Describe your workflow of using version control (VCS or DVCS)