当我尝试拉动时,我有以下信息:
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并且它不存在。
答案 0 :(得分:6)
有几种方法可以解决git冲突,我将在这里使用GUI和文本编辑器方式进行解释。
打开您喜欢的任何一个编辑器,例如,Notepad,gedit,vim,nano甚至是Eclipse。
每当文件git中发生冲突时,添加看起来像<<<<<<<<
的冲突标记。
当您在文本编辑器中打开文件时,您会在行<<<<<<< HEAD
========
,它将您的更改与其他分支划分为>>>>>>>>YOUR_BRANCH_NAME
您可以决定是否要保持分支更改。如果要保留所做的更改,请删除它们所在的冲突标记<<<<<<<, =======, >>>>>>>
,然后进行合并。
提交更改的命令。
git add . or git add "your_file"
git commit -m "Merge conflicts resolved"
如果文件中存在这么多合并冲突怎么办?在这种情况下,你可以使用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