出于演示目的,我试图为Git配置diff工具到WinDiff。
但是,最后一个命令失败并提供了git config
帮助:
C:\...> git config --global diff.tool windiff
C:\...> git config --global difftool.windiff.path "C:\Program Files (x86)\WinDiff\"
C:\...> git config --global difftool.windiff.cmd "C:\Program Files (x86)\WinDiff\WinDiff.exe"
C:\...> git config --global difftool.windiff.cmd "C:\Program Files (x86)\WinDiff\WinDiff.exe"
"$LOCAL" "$REMOTE"
usage: git config [<options>]
Config file location
--global use global config file
--system use system config file
--local use repository config file
[...]
(WinDiff.exe和“$ LOCAL”之间的换行符只是为了便于阅读)
我无法弄清楚自己做错了什么。如何将WinDiff设置为diff工具?
这更像是一个学术问题。我实际上并不想使用WinDiff,但我正在准备Git的培训,我想了解为什么会发生这种情况以及如何解决它,因为我可能会成为关于Git问题的主要联系人。
D:\...> git version
git version 2.13.0.windows.1
由于上一个命令不起作用,我查看了如何设置WinMerge:
D:\...> git config --get difftool.winmerge.cmd
"C:/Program Files (x86)/WinMerge/winmergeu.exe" -e -u "$LOCAL" "$REMOTE"
我看到它使用正斜杠,所以我也试过了:
C:\...> git config --global difftool.windiff.cmd "C:/Program Files (x86)/WinDiff/WinDiff.exe"
"$LOCAL" "$REMOTE"
usage: git config [<options>]
Config file location
--global use global config file
--system use system config file
--local use repository config file
[...]
取消设置也无济于事:
C:\...> git config --global --unset difftool.windiff.cmd
我在同事的电脑上试过了同样的结果。
答案 0 :(得分:0)
请按照以下步骤进行:
1)将vagrant reload
复制到windiff.exe
2)创建包装文件C:/WinDiff.exe
:
C:/windiff/windiff.sh
3)通过cmd(在管理模式下)将windiff目录添加到路径:
#!/bin/sh
"C:/WinDiff.exe" "$1" "$2"
4)添加到setx path "%path%;C:\windiff"
(在.gitconfig
中):
C:/user/xxx/.gitconfig
5)使用它:
[diff]
tool = windiff
[difftool "windiff"]
cmd = windiff.sh \"$LOCAL\" \"$REMOTE\"
[difftool]
prompt = false
OR
git difftool