我有一个文件,我们称之为文件A.我在第一行输入内容。然后我在主分支上提交它。
现在我让另一个分支让我们称之为BranchA。现在我打开文件删除我在第一行写的东西,在同一行输入其他内容并将其提交给BranchA。
现在我checkout
到主分支,然后将BranchA与主分支合并。合并成功完成,当我打开文件时,BranchA上的行覆盖了主分支上的行。
为什么发生这种情况不应该给我一个冲突,因为我在两个分支上更改相同的行,然后尝试合并它们
答案 0 :(得分:1)
您描述的情景是预期的行为。
据我了解你的问题,你有一个提交图,看起来像这样:
o---o <- master
\
o <- A
如果您现在将A合并到 master ,git将执行fast-forward
合并,这有效地只会更改提交主点。
由于 master 没有进一步的更改,它与 A 不同,因此无需合并。
现在让我们假设我们有以下提交图:
o---o---o <- master
\
o <- A
在这种情况下,您的分支会发散。您对主上的更改 A 并且 A 上的更改不在主服务器上。这是需要合并的典型情况。
您可以查看gitpro一书的Basic Branching and Merging章节,其中涵盖了所有这些以及更多内容。