在GitFlow中将master合并到开发中是否会引起冲突?

时间:2018-07-06 15:40:08

标签: git merge git-flow git-merge-conflict

我想知道使用gitflow并将master合并到开发中是否会引起冲突。我打算使这个“ git merge master”成为开发命令的一个自动的,非交互的过程,因此,如果发生冲突,它将失败,因为它需要人工干预。

我正在使用GitFlow,直接应用到master的更改是版本颠簸,它颠簸版本,提交然后将版本更改为快照版本。例如,master的版本可能为1.0.1-SNAPSHOT。如果我们将其版本更改,版本将更改为1.0.2,然后进行git commit。然后,将版本更改为1.0.2-SNAPSHOT,然后提交。因此,每个版本颠簸都会导致两次提交(请参见mvn版本更新程序)。

我定期要通过调用git merge将master中的最新版本合并到开发中。这将进行版本更改,但也将进行在master中而不在开发中发现的任何其他更改。我相信这不会引起任何冲突,因为master拥有的一切,develop也应该拥有,因为我们将development合并为master。

我已经测试了文件重命名,将要删除的编辑文件以及对该文件的大量编辑,但是在这种模型下,从master合并到开发后,我不会出现冲突。

有什么办法在这里引起冲突吗?尝试自动将母版合并到开发过程中会有任何问题吗?谢谢。

1 个答案:

答案 0 :(得分:0)

TL; DR是!

在这里我需要讨论多个问题/问题:

(1)在git-flow created and documented by nvie中,没有从masterdevelop的合并,而是从({仅使用版本1.0.2在此示例中)release/1.0.2分为masterdevelop

(2)此release/1.0.2分支旨在作为您调整版本的位置。由于您在每次发行后都将develop合并到release/1.0.2中,因此它将自动出现在develop上。然后,无需定期从master更新。

(3)master分支仅包含合并提交,没有其他内容。这只是所有版本的有序列表。

(4)在develop上工作时,release/1.0.2一直在工作(假设并非所有人都在整个项目上工作),因此在两种情况下都可能遇到合并冲突。如果在同一行中进行更改,则可能会(但不一定需要)发生合并冲突。