使用合并更改标记打开文件
open file with merge-change markers
当您在许多版本控制系统(git、svn、perforce)中执行合并时,一种可能是得到一个未解析的 "merge change markers" 文件,看起来像这样:
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 中打开像这样的三向合并文件?您可以在其他工具中这样做吗?
编辑
我刚找到this which provides a script and links to several possibilities, including its own script
正如@D.Ben Knoble 提到的,你想使用:
git mergetool
这将打开Git的配置中设置的编辑器,冲突双方和当前要编辑的文件。
您可以对编辑器进行如下设置:
[merge]
tool = vimdiff
conflictstyle = merge
另外,我经常使用以下映射来浏览冲突标记:
nnoremap <leader>n /^\(<<<<\|====\|>>>>\)<CR>
按 <leader>n
搜索冲突标记,然后按 n
或 N
从一个到另一个。
当您在许多版本控制系统(git、svn、perforce)中执行合并时,一种可能是得到一个未解析的 "merge change markers" 文件,看起来像这样:
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 中打开像这样的三向合并文件?您可以在其他工具中这样做吗?
编辑
我刚找到this which provides a script and links to several possibilities, including its own script
正如@D.Ben Knoble 提到的,你想使用:
git mergetool
这将打开Git的配置中设置的编辑器,冲突双方和当前要编辑的文件。
您可以对编辑器进行如下设置:
[merge]
tool = vimdiff
conflictstyle = merge
另外,我经常使用以下映射来浏览冲突标记:
nnoremap <leader>n /^\(<<<<\|====\|>>>>\)<CR>
按 <leader>n
搜索冲突标记,然后按 n
或 N
从一个到另一个。