分支A在合并git时覆盖Master Branch

时间:2014-10-23 11:37:38

标签: git github version-control merge

我有一个文件,我们称之为文件A.我在第一行输入内容。然后我在主分支上提交它。

现在我让另一个分支让我们称之为BranchA。现在我打开文件删除我在第一行写的东西,在同一行输入其他内容并将其提交给BranchA。

现在我checkout到主分支,然后将BranchA与主分支合并。合并成功完成,当我打开文件时,BranchA上的行覆盖了主分支上的行。

为什么发生这种情况不应该给我一个冲突,因为我在两个分支上更改相同的行,然后尝试合并它们

1 个答案:

答案 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章节,其中涵盖了所有这些以及更多内容。