我试图找出造成这种情况的正确的工作流程:更正共享功能分支的Git工作流程?
在共享回购,我们对这些分支:
-master
-feature
的功能分支是共享分支,因为许多开发人员正在共同研究一项新功能。他们正在积极推动他们对功能分支的改变。
我试图避免“冲突地狱”的那一天功能终于被合并到主。目前,我看到一些选项:
1)积极合并主到功能,并且经常这样做。但是,这不是建议在git文档中,我开始明白为什么。当我尝试这个时,我似乎一次又一次地解决了同样的冲突。
2)以某种方式使用rebase。我已经读过这个,但它看起来像不会工作,因为功能分支实际上是共享的。所需要的只是一个开发人员进行2次rebase,而其他开发人员可能会因不匹配的历史记录而产生冲突。
3)打开功能分支到集成分支,并有开发者使用自己独立的特性分支与垫底让事情变得理智。
4)完全不同的东西?
我认为开发通常应该发生在每个开发者分支上,并且共享分支通常应该仅用于集成是一个很好的经验法则。 – 2010-09-29 07:22:15
我不太熟悉rebasing,所以我会问这个问题:在这种情况下,用户是否会将他们的私人分支合并到功能中一次(并且如果他们需要做更多工作,则创建一个新的专用分支),还是安全的让他们多次合并以及他们正在进行的重组? – Ben 2010-09-29 16:46:00
@让本地重新定义的想法正是为了允许多重合并:因为你永远不会发布你的'私人'分支,你可以在将你的工作合并到'features'并推送它之前重新定义它。也就是说,如果给定的开发工作在一个给定的“私人”分支上完成,最好做一个新的开发,而不是试图重用现有的开发。当地的历史会更清晰。 – VonC 2010-09-29 17:11:24