为什么 git difftool 改用 git diff?

Why does git difftool use git diff instead?

我希望 git diff 成为查看两个文件之间差异的快速命令行解决方案,然后我希望 git difftool 启动 meld 以获得文件差异的更多图形视图。

目前,git diff 完全符合我的要求,但是当我 运行 git difftool script.js、git 尝试启动 vimdiff 而不是 meld 时:

Viewing (1/1): 'script.js'
Launch 'vimdiff' [Y/n]:

如果我用 git difftool -t meld script.js 指定工具,它会尝试按应有的方式启动 meld:

Viewing (1/1): 'script.js'
Launch 'meld' [Y/n]:

如何让 git difftool <filename>git diff <filename> 仍然使用 vimdiff 的情况下启动 meld?


我的 .gitconfig 包含以下内容:

[diff]
     tool = vimdiff
[difftool]
    tool = meld
[difftool "meld"]
    path = C:\Program Files (x86)\Meld\Meld.exe
git config --global diff.tool meld

这会将默认的 difftool 设置为 meld。 IE。当您在没有 --tool 参数的情况下调用 git difftool 时,git 将 运行 合并。

您也可以删除配置的那部分,git 不会读取 difftool.tool 因为它不是 one of git's known config options:

[difftool]
    tool = meld