我们正在使用以下工作流程分支。
master
develop
hotfix
每个hotfix的分支(分支来自 release
标签)当一个 hotfix
分支发布到生产中,它又被合并到了 develop
和 master
通过BitBucket拉请求。
现在,我需要将热补丁分支合并到两个 develop
和 master
. 我创建了一个BitBucket拉请求到 develop
但有合并冲突阻止了它。简单的说就是正在进行的开发修改了相同的文件,因为release标签是创建的。
如何解决这个问题?
我在想
但这似乎是一个很大的手工工作(理论上--事实上,我在hotfix分支中可能有5个提交),我很想有一些简单的方法来做到这一点,那就是...。符合git-flow.
Master
应该 始终 始终 release
+下一个版本的改动。所以,除非热修复是抛砖引玉(即紧急黑客,需要为下一个版本好好重做),否则,首先需要做的就是在 release
需要合并或应用于 master
. 如果这导致了冲突,这些冲突需要妥善解决。我所说的正确是指逻辑上正确,代码功能正常,所有测试都通过。没有神奇的人工智能(还没有)可以为你做到这一点 -- 尽管有不同的合并算法可能会让它变得更容易,但这是git的高级用法。
一旦热补丁更改在 master
下一步是重复这个过程,这次是从 master
到 develop
.
任何其他变化的流向都会破坏《公约》的整体意义和目的。release
, master
和 develop
枝。