如何解决Git合并冲突

时间:2012-03-05 21:32:51

标签: git merge git-merge

我是github的新手,我正在尝试合并我的master和gh-pages分支。

在尝试合并时,我发生了冲突。现在我收到以下消息

enter image description here

我该如何解决?

3 个答案:

答案 0 :(得分:7)

我通常使用git mergetool来解决冲突。

启动预定义的可视化合并工具。

答案 1 :(得分:4)

查看您当前的状态:

git status

您可能会看到一些用于提交的文件和一些具有本地更改的文件。分阶段的是没有问题合并的那些。具有本地更改的那些具有合并冲突。打开每个文件,你会在里面看到类似的东西:

<<<<< master
// some code that was in master
=====
// some code that was in gh-pages
>>>>> gh-pages

(我认为无论如何都是这样的)

编辑它们,使它们成为你想要的样子(即:修复冲突)。然后按照它说:

git add the/file/i/fixed.txt
git commit

答案 2 :(得分:0)

基本上,请尝试以下步骤作为经验法则

查看当前状态

git status

如果您没有任何未跟踪或未提交的内容,您可能会发生以下情况 enter image description here

此时您必须提交文件

添加到跟踪和提交

git add-commit -m 'commit message'

此时您将拥有: Commited

您现在可以将分支合并到当前分支或通过

结帐其他分支
git checkout <branch>

并合并一些分支

合并分支

git merge <branch>

确保您没有冲突,现在可以成功合并分支。

如果您遇到合并冲突,您会看到类似的内容:

Conflicts

您现在需要确定需要对冲突文件进行哪些更改,<<<<<<<<<< HEAD表示更改位于父分支中,而>>>>>>>>>>> refs/heads/new_idea是实际从您尝试的分支添加的内容合并。

您可以使用各种合并工具来查看和解决冲突,有关合并工具的帮助,请查看 git mergetool

希望它有所帮助!