如何解决git中的冲突?

时间:2017-12-01 07:49:38

标签: git merge git-merge git-merge-conflict

当我尝试拉动时,我有以下信息:

Automatic merge failed; fix conflicts and then commit the result.

所以,我尝试修复冲突(如git建议),因为我遵循these指示。

我需要做的第一件事就是打开"有问题的"文件编辑器中的文件并找到类似

的行
If you have questions, please
<<<<<<< HEAD
open an issue
=======
ask your question in IRC.
>>>>>>> branch-a

问题是我在文件中看不到类似的东西。特别是我搜索了HEAD并且它不存在。

2 个答案:

答案 0 :(得分:6)

有几种方法可以解决git冲突,我将在这里使用GUI和文本编辑器方式进行解释。

使用文本编辑器解决git冲突。

打开您喜欢的任何一个编辑器,例如,Notepad,gedit,vim,nano甚至是Eclipse。

  1. 每当文件git中发生冲突时,添加看起来像<<<<<<<<的冲突标记。

  2. 当您在文本编辑器中打开文件时,您会在行<<<<<<< HEAD

  3. 之后看到HEAD或基本分支的更改
  4. ========,它将您的更改与其他分支划分为>>>>>>>>YOUR_BRANCH_NAME

  5. 您可以决定是否要保持分支更改。如果要保留所做的更改,请删除它们所在的冲突标记<<<<<<<, =======, >>>>>>>,然后进行合并。

  6. 提交更改的命令。

    git add . or git add "your_file"
    git commit -m "Merge conflicts resolved"
    

    解决git冲突你的GUI

    如果文件中存在这么多合并冲突怎么办?在这种情况下,你可以使用GUI,它是否只是个人选择是否选择GUI。在GUI中,您可以看到并排差异。初学者很容易看到变化。

    您需要配置您的git以使用您要使用的mergeto。示例:meld,kdiff3或vimdiff。同样,它取决于用户他们喜欢什么。我用meld。在这里你需要安装这些工具,安装后你必须配置它。

    git config merge.tool meld 
    

    你可以解决合并冲突

    git mergetool -t meld
    

    然后你可以按照步骤2到4解决使用文本编辑器来解决合并冲突。

答案 1 :(得分:-1)

你可以使用以下,

git mergetool --tool=kdiff3