我有一个名为master
的分支,另一个名为dev
。通常,我会对dev
进行测试和改进,当确定它没问题时,我将其合并到master
,然后标记并发布应用程序的新版本。我遇到了两个合并案例:
master
合并到dev
和dev
合并到master
,但我不确定两者有何不同......欢迎提出任何解释。
答案 0 :(得分:26)
主要区别在于master
和dev
分支最终指向的位置。
将一个分支合并到另一个分支不是对称操作:
dev
合并到master
和master
合并到dev
,不等同。这是一个解释两者之间差异的说明性示例。让我们假设你的回购看起来如下:
dev
合并到master
如果签出master
(git checkout master
),
然后您合并dev
(git merge dev
),您最终会遇到以下情况:
master
分支现在指向新的合并提交(F
),而dev
仍然指向与合并之前相同的提交(E
)
master
合并到dev
另一方面,如果dev
已签出(git checkout dev
),
然后您合并master
(git merge master
),您最终会遇到以下情况:
dev
分支现在指向新的合并提交(F'
,而master
仍然指向与合并之前相同的提交(D
)。