【问题标题】:open file with merge-change markers使用合并更改标记打开文件
【发布时间】:2019-02-27 18:21:28
【问题描述】:

当您在许多版本控制系统(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 路合并方式打开这样的文件?您可以在其他工具中这样做吗?

编辑

我刚刚找到了this,它提供了一个脚本和几个可能性的链接,包括它自己的script

【问题讨论】:

  • 几乎可以肯定有一篇关于使用 vimdiff 作为 git 的 difftool 的 SO 帖子(尽管我个人使用 fugitive.vim — 也有 SO 帖子)
  • 这不是如何将其用作差异工具的问题,而是如何将其用作已使用“冲突标记”创建的文件的差异工具
  • 道歉——在这种情况下,您想将它用于 git 的合并工具。

标签: git vim merge diff


【解决方案1】:

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

git mergetool

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

您可以如下设置编辑器:

[merge]
    tool = vimdiff
    conflictstyle = merge

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

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

&lt;leader&gt;n 搜索冲突标记,然后按nN 从一个搜索到另一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多