当我遇到冲突时,我尝试使用git-mergetool来解决它。我输入:

>git mergetool -t vimdiff

它以4路而不是3路打开vimdiff。我在vimdiff中分割的窗口如下所示:
:ls
  1 #a   "Gemfile.lock"                 line 1
  2 %a   "Gemfile.lock.LOCAL.4828.lock" line 1
  3  a   "Gemfile.lock.BASE.4828.lock"  line 0
  4  a   "Gemfile.lock.REMOTE.4828.lock" line 0

这些是什么?我想要一个三向差异:目标文件,合并文件和工作文件。我应该如何配置git或vimdiff?

最佳答案

或者,您是否考虑过使用fugitive



Drew Neil提供了一个出色的Vimcast Fugitive.vim - resolving merge conflicts with vimdiff。这是关于 Fugitive 系列的一部分。

Vimcasts网站是学习更多有关vim的好地方。

要在合并工具中使用 Fugitive ,可以使用以下命令。

git config --global mergetool.fugitive.cmd 'vim -f -c "Gdiff" "$MERGED"'
git config --global merge.tool fugitive

注意:您可能需要将vim更改为mvimgvim

逃逸不仅提供了一个合并工具脚本,还提供了更多其他功能,因此请确保您阅读了文档和/或查看了Vimcast。

关于git - 为什么git mergetool在vimdiff中打开4个窗口? (我希望3),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7309707/

10-11 17:56