Visual Studio从.git文件夹中的config文件获取各种git工具的位置,例如以下行:
[difftool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t
keepBackup = false
除此之外,我能在电脑上找到git.exe
的唯一位置就是这里:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\git.exe
对于运行在本机64位模式下的Visual Studio 2022,其位置为:
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe
看起来,VS2019 在其安装过程中隐藏了几乎完整的 Git for Windows 安装程序。它唯一被剥离的是 Mintty。因此,您可以像在 Git for Windows 中一样设置 GIT_PATH
环境变量和 GIT_SSH
,并通过 CLI 轻松地使用 Visual Studio 中的 git。
您可以在以下路径找到它:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd
以及这个路径:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin
将您的路径设置为第一个路径(这是 Git for Windows 使用的路径)。
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd
。 - bb1950328C:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe
- Jaliya UdagedaraC:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe
- undefined路径的某些部分根据您的操作系统版本和VS版本而变化。
C:\{Program Files或Program Files (x86)}\Microsoft Visual Studio\{VS版本年份-2017-2019-2022等}\{VS类别-Community-Professional-Enterprise等}\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd
例如,我的路径是...
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd
Visual Studio 2022 将默认的 git 配置数据存储在
C:\Users\<user>\.gitconfig
可以在每个项目中被覆盖的文件
...\.git\config
文件。例如,升级到VS 2022后,为了让我的备选差异工具正常工作,我需要执行以下操作:
从Visual Studio 2022命令行工具中执行“git config”命令:
git config --global diff.tool ExamDiffPro
git config --global difftool.ExamDiffPro.path "C:/Program Files/ExamDiff Pro/ExamDiff.exe"
这将以下行添加到
C:\Users\<user>\.gitconfig
文件:
[diff]
tool = ExamDiffPro
[difftool "ExamDiffPro"]
cmd = "'C:/Program Files/ExamDiff Pro/ExamDiff.exe'" -e "$LOCAL" "$REMOTE"
从本地项目中删除任何覆盖的 [diff] 设置
...\.git\config
[diff]
tool = <some other tool or the default Visual Studio tool>
git config core.autocrlf false
应该配置你执行该命令所在的代码库,你是在那个代码库中使用了Visual Studio呢,还是在另一个代码库中使用了它? - Lasse V. Karlsen