如何配置 visual studio 2017 以使用外部 difftool 和 mergetool
How to configure visual studio 2017 to use external difftool and mergetool
我在 git 全局配置中为 difftool 和 mergetool 配置了 DiffMerge。我读到 Visual Studio 支持全局 git 配置的此设置。这是我的 git 配置:
git config --global --list
difftool.DiffMerge.cmd='C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' $LOCAL $REMOTE
merge.tool=DiffMerge
mergetool.DiffMerge.cmd='C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result=$PWD/$MERGED $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE
mergetool.DiffMerge.trustexitcode=true
user.name=masiboo
user.email=masiboo@gmail.com
但是如果尝试查看来自 visual studio 的差异,它会打开自己的差异工具。如何打开或配置打开外部工具?
我也花了一段时间。
似乎 visual studio 2017 "helps" 你,如果有什么问题,它只会启动 visual studio diff。
这是我的工作 .gitconfig 设置:
[diff]
tool = winmerge
[difftool "winmerge"]
trustExitCode = true
cmd = \"C:\Program Files (x86)\WinMerge\WinMergeU.exe\" -u -e \"$LOCAL\" \"$REMOTE\"
请注意,visual studio 似乎插入了带有差异工具设置的存储库级别配置,在这种情况下,您需要清除存储库中的 .git/config 设置。
为了使用 VS 代码作为 diff 工具,我将其添加到我的本地 git 配置文件中,适用于 VS2019。
[diff]
tool = vscode
[difftool "vscode"]
cmd = "code --wait --diff \"$LOCAL\" \"$REMOTE\" "
我在 git 全局配置中为 difftool 和 mergetool 配置了 DiffMerge。我读到 Visual Studio 支持全局 git 配置的此设置。这是我的 git 配置:
git config --global --list
difftool.DiffMerge.cmd='C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' $LOCAL $REMOTE
merge.tool=DiffMerge
mergetool.DiffMerge.cmd='C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result=$PWD/$MERGED $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE
mergetool.DiffMerge.trustexitcode=true
user.name=masiboo
user.email=masiboo@gmail.com
但是如果尝试查看来自 visual studio 的差异,它会打开自己的差异工具。如何打开或配置打开外部工具?
我也花了一段时间。
似乎 visual studio 2017 "helps" 你,如果有什么问题,它只会启动 visual studio diff。
这是我的工作 .gitconfig 设置:
[diff]
tool = winmerge
[difftool "winmerge"]
trustExitCode = true
cmd = \"C:\Program Files (x86)\WinMerge\WinMergeU.exe\" -u -e \"$LOCAL\" \"$REMOTE\"
请注意,visual studio 似乎插入了带有差异工具设置的存储库级别配置,在这种情况下,您需要清除存储库中的 .git/config 设置。
为了使用 VS 代码作为 diff 工具,我将其添加到我的本地 git 配置文件中,适用于 VS2019。
[diff]
tool = vscode
[difftool "vscode"]
cmd = "code --wait --diff \"$LOCAL\" \"$REMOTE\" "