试图合并两个分支(一个很老,试图拉大师代码)但每个文件都有冲突

时间:2012-02-28 20:59:55

标签: git merge

冲突甚至不应该是冲突......大多数冲突都在我添加的文档中,例如:

<<<<<<< HEAD
  # returns the max_sequence for this section
=======
>>>>>>> merged with other_branch_that_isnt_master

我所做的命令是git pull --rebase origin master

但是当我做git pull origin master时,我到处都会遇到很多冲突。

为什么它没有合适地合并?这就像git放弃了生活。

如何让git实际合并我的文件?

我在Mac Lion上使用git。

1 个答案:

答案 0 :(得分:0)

很可能你犯了错误的分支并且分支分歧了。这意味着不再干净地应用rebase,从而产生冲突。

一种选择是执行git merge并执行修复冲突的硬手动工作。一旦分支合并,你应该只需要做一次工作。

另一种选择是忽略master的其他副本中的所有更改,并使您的副本成为权威副本。不建议这样做,但这取决于您的使用案例:

git fetch
git merge -s ours origin/master

另一个选择是重写并修复Dave建议的提交历史记录。摘要如下:

  • 使用gitk --allgit log --graph --all可视化历史记录并查看分支机构的分歧。
  • 使用git reset --hard将历史记录快退到该提交
  • 执行git pull --rebase
  • git cherry-pick 您的会回复重新定位的历史记录,希望最大限度地减少冲突。