如何从命令行使用 BeyondCompare,但在 VS 中有 Visual Studio 差异?

How to use BeyondCompare from command line, but Visual Studio diff within VS?

在 Visual Studio 中工作时,当我从 Git 更改窗格中比较文件时,它总是使用 VS 集成差异工具显示 Visual Studio 中的差异。

从命令行工作时,我按照 their instructions.

将 Beyond Compare 设置为默认差异工具

最近Visual Studio升级到版本16.11.5

现在我的工作流程坏了。似乎当我从命令行使用 git difftool 时,没有任何反应。如果我重新按照上面的说明进行操作,那么与命令行的差异将再次开始工作。但这会破坏 Visual Studio,如果我随后单击一个文件以在 Visual Studio 中比较它,这将启动 BeyondCompare,而不是使用 Visual Studio 集成 difftool。如果我将其放回 Visual Studio 选项中以使用集成的 difftool,那么这将再次破坏命令行差异。

如何根据需要进行配置:

git bash、运行、git config --list中查看您当前的命令行设置。这些是我的 diffmerge 工具的 Beyond Compare。

diff.tool=bc
difftool.bc.path=c:/Program Files/Beyond Compare 4/bcomp.exe
merge.tool=bc
mergetool.bc.path=c:/Program Files/Beyond Compare 4/bcomp.exe

在 VSCode 中,我可以通过内部 diff 工具查看更改,在源代码管理菜单上,我可以右键单击更改的文件并选择通过配置的 CLI 查看更改difftool(超越比较)。

这就是您想使用 Visual Studio(不是 VSC)返回的内容,对吗?

尝试取消所有这些设置并查看 VS 的反应。它是否返回到默认的内部差异?

git config --global --unset diff.tool
git config --global --unset merge.tool 

否则,您可能只需要reset your settings in Visual Studio