1

我很高兴git difftool --dir-diff与 Beyond compare 合作,以显示目录和文件之间的整体差异并在它们之间导航。

然而,当谈到 vimdiff 时,它似乎不支持来自 git 的 dir diff。我创建的 git 别名如下

    dirdiff = difftool --ignore-submodules --tool=vimdiff --dir-diff --no-symlinks

在我做类似的事情之后,它会在文件浏览器git dirdiff HEAD~1 HEAD中使用 vim 在左右列出我的 2 个目录。netrw但是,在其中任何一个上按 enter 不会使文件夹在两侧展开,更不用说打开具有并排差异的文件。

vimdiff 可以很好地在可视模式下显示单个文件差异,有没有办法让它也适用于--dir-diff

4

1 回答 1

0

我从另一个stackoverflow 线程中找到了解决方案。答案由@user744629 提供。按照他的建议

  • 安装vim 目录
  • 在里面添加如下配置.gitconfig
[alias]
    dirdiff = difftool --ignore-submodules --dir-diff --no-symlinks --tool=vimdirdiff

[difftool "vimdirdiff"]
    cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE

之后,您可以使用git dirdiff HEAD HEAD~1并排查看差异。

于 2020-08-27T04:34:02.063 回答