首页 > 解决方案 > 使用合并更改标记打开文件

问题描述

当您在许多版本控制系统(git、svn、perforce)中执行合并时,一种可能性是获取一个带有未解析的“合并更改标记”的文件,如下所示:

common part of the file

>>> ORIGINAL
print("hi there")
==== THEIRS
print("hi there joe")
==== YOURS
print("hi there susan")
<<<<

more common part of the file

就个人而言,如果版本控制系统只是创建了这些文件,并且我可以在闲暇时使用我选择的 difftool 来解决它们,我会更喜欢。就像是vimdiff -m myfile.py

您如何在 vimdiff 中将这样的文件作为 3 路合并打开?你可以在其他工具中这样做吗?

编辑

我刚刚发现提供了一个脚本和几种可能性的链接,包括它自己的脚本

标签: gitvimmergediff

解决方案


正如@D.Ben Knoble 提到的,你想使用:

git mergetool

这将打开 Git 配置中设置的编辑器,其中包含冲突的双方和要编辑的当前文件。

您可以按如下方式设置编辑器:

[merge]
    tool = vimdiff
    conflictstyle = merge

另外,我大量使用以下映射来浏览冲突标记:

nnoremap <leader>n /^\(<<<<\\|====\\|>>>>\)<CR>

<leader>n搜索冲突标记,然后按nN从一个到另一个。


推荐阅读