我有一个主分支和一个功能分支。大约每天都会用更新的代码将功能分支合并到主分支中。然而,经常会发生的情况是,更改直接合并到主分枝中,而不首先经过功能分支。
这意味着主分支也需要合并到特征分支中。因此,主分支包含一些更新的代码和一些过时的代码,功能分支包含一些升级的代码和过时的代码。
当尝试将主分支合并到功能分支中时,有时主分支希望恢复对功能分支所做的更改,即使功能分支具有最新的代码。
如何防止这种情况发生?
这意味着主分支也需要合并到功能分支中
这不是最佳做法:
- 你合并了"上游";(从
feature
到master
(合并冲突更为有限(除非在您的情况下,您从其他变更分支同时进化到master
( - 您可能不想合并";"下游";(从
master
到feature
(,其中合并冲突几乎得到了保证,因为来自master
和其他分支的并发更改都合并到feature
理想情况下,您只需删除feature
,然后在master
之上重新创建它,在那里您可以再次合并需要集成在一起的更改。
集成分支变成了一个瞬态分支,这意味着它甚至不应该被合并到主分支:
- 您将更改合并到
feature
,以便一起测试它们 - 然后选择要合并到
master
的更改,因为它们已准备好成为下一个版本的一部分 - 删除
feature
,然后重新创建它
这就是gitworkflow
(一个词(背后的想法。