git - 为什么 git mergetool 在 vi​​mdiff 中打开 4 个窗口? (我希望 3)

标签 git vim vimdiff

当我遇到冲突时,我尝试使用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

它们是什么?我想要一个 3 向差异:目标文件、 merge 文件和工作文件。我应该如何配置我的 git 或 vimdiff?

最佳答案

作为替代方案,您是否考虑过使用 fugitive

I'm not going to lie to you; fugitive.vim may very well be the best Git wrapper of all time.

有一个优秀的 vimcast,Fugitive.vim - resolving merge conflicts with vimdiff , 德鲁尼尔.这是 Fugitive 系列的一部分。

Vimcasts网站是了解更多关于 vim 的好地方。

要在 mergetool 中使用 fugitive,您可以使用以下命令。

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

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

Fugitive 不仅仅是一个 merge 工具脚本,还有很多东西可以提供,因此请务必阅读文档和/或查看 vimcasts。

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

相关文章:

git - 如何使用git只获取提交历史,而不是文件

git - ls-remote 报告以 "^{}"结尾的幻影标签

git - 更改数据目录 gitlab 以将 repos 存储在其他地方

vim - 在远程 linux 机器上编辑源代码时使用 Mac OS X 终端获取颜色

Ubuntu + Tmux + Vim 颜色问题

vim - 使用macvim/NERDtree插件可以快速找到文件吗?

Vimdiff-如何在两个文件中隐藏所有相同的行并仅显示不同的行

git - 如何使用 git repos 将本地代码与共享代码分开

Vimdiff 将下一个差异放在顶部或中间

linux - Vimdiff:如何将特定函数内的所有更改从一个文件转移到另一个文件?