忽略本地git配置文件



我在Windows上,在全局git配置文件中设置了diff和合并工具。我的大部分项目都在Visual Studio中。我处理的一些项目在.git目录中有一个本地配置文件。我认为这是visualstudio创建repo时创建的。问题是VS用vsdiffmerge.exe覆盖我的diff工具和合并工具。在我的全局设置中,它被设置为无法比较。有没有一种方法可以告诉git优先考虑我的全局配置而不是本地配置。我总是在命令行中使用git,并期望在键入"git-difftool"时打开beyond-compare。在VS中进行diff以打开vsdiffmerge是可以的。

登录用户在Windows上的全局Git配置文件位于名为.gitconfig的文件夹C:users<username>中。您所需要做的就是确保全局Git配置文件包含默认情况下要使用的difftool,并确保它没有列在本地Git配置中(位于解决方案文件夹的.Git文件夹中,文件名为config)。

本地Gitconfig文件通常有两个[difftool]条目:一个用于指定是否提示您使用哪个difftool,另一个用于配置特定的difftool。它可能看起来像这样:

[difftool]
prompt = true
[difftool "vsdiffmerge"]
cmd = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsdiffmerge.exe" "$LOCAL" "$REMOTE" //t
keepBackup = false

只需将这些条目从本地Git配置文件复制到剪贴板,然后删除它们(首先备份配置文件!)。之后,打开全局Git文件并将这些条目粘贴到那里(或者根据需要修改任何现有的[difftool]条目)。

此时,命令行Git difftool命令将调用全局配置的difftool,而不是本地定义的difftool。

最新更新