修复合并冲突?

时间:2012-08-28 15:27:35

标签: git merge git-merge

我有两个偏远的分支,“葡萄”和“主人”。我现在正在“葡萄”。

现在我切换到“主人”:

git checkout master

现在我想把所有变化从“葡萄”变成“主人” - 这是这样做的方式吗?:

git merge origin grape

据我所知,git会将远程分支“grape”的所有当前状态拉入我的本地“master”副本。它将尝试为我自动合并。如果存在冲突,则冲突的文件会将一些冲突文本实际注入到文件中。然后我必须进入这些文件,并删除我不想要的块(基本上告诉git如何合并这些文件)。

对于冲突中的每个文件,我是否会再次添加和提交更改?:

git add problemfile1.txt
git commit -m "Fixed merge conflict."

git add problemfile2.txt
git commit -m "Fixed another merge conflict."

...

在我修复了上述所有合并冲突之后,我是否只是再次推送到“master”来完成这个过程?:

git push origin master

或者当我们进入这种冲突状态时,我们还需要做些什么吗?

谢谢

2 个答案:

答案 0 :(得分:0)

在我看来,你应该首先手动解决文件中的所有合并冲突然后,你可以提交并推送到掌握,它会起作用。

如果按照你说的方式进行,你的提交历史记录将充满垃圾提交,如果你与朋友一起工作,那真的很烦人。

答案 1 :(得分:0)

origin引用另一台服务器上的另一个存储库;通常,它指的是您从中提取回购的github服务器。如果你想合并grape和master分支,那么你git merge grape,解决任何冲突,你可以将更新推送到服务器。

您可以通过查看和编辑它所说的文件来解决合并问题,这就是您希望它们最终结束的方式,将它们添加到索引并提交。