Windows设备存在多个gitconfig文件是否必要?各文件作用与命名规则及VS2019 Git配置咨询
Git配置文件相关问题解答
你列出的4个gitconfig文件的具体作用
Git配置遵循从系统到用户再到仓库的优先级覆盖规则,优先级从低到高依次为:系统级配置 < 用户全局配置 < 仓库级配置,你提到的4个文件对应作用如下:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\etc\gitconfig:VS2019内置Git客户端的系统级配置,仅对VS2019自带的Git工具生效,优先级最低。C:\Program Files\Git\mingw64\etc\gitconfig:独立安装的Git for Windows的系统级配置,对所有调用该Git实例的工具(包括命令行、第三方Git客户端)生效,覆盖所有系统用户。C:\Users\Jeff Dev\.gitconfig:当前Windows用户的全局Git配置,所有Git实例(包括VS各版本内置的Git、独立安装的Git for Windows)默认都会读取该配置,优先级高于所有系统级配置。- Visual Studio 2022对应的gitconfig文件:和VS2019对应文件作用一致,是VS2022内置Git客户端的系统级配置,仅对VS2022自带的Git工具生效。
gitconfig文件名前缀规则
文件名是否带英文句号前缀完全由配置文件的级别和存放位置决定,没有统一要求,规则如下:
- 存放在各Git安装路径
etc目录下的系统级配置,固定命名为gitconfig,不带英文句号前缀,是Git官方约定的命名规则。 - 存放在用户根目录下的全局级配置,固定命名为
.gitconfig,带英文句号前缀,沿用了类Unix系统隐藏文件的命名惯例,Windows版本Git也保留了该规则。 - 存放在单个代码仓库
.git目录下的仓库级配置,固定命名为config,不带前缀,仅对当前仓库生效,优先级最高。
补充说明:你不需要手动修改系统级配置,日常配置直接修改用户根目录下的
.gitconfig即可,会覆盖所有系统级配置的对应项。
VS2019 Git插件配置WinMerge操作步骤
- 确认WinMerge已经安装完成,记录你的WinMerge安装路径,默认安装路径为
C:\Program Files\WinMerge\WinMergeU.exe。 - 打开用户全局配置文件
C:\Users\Jeff Dev\.gitconfig,在文件末尾添加以下配置:
[diff] tool = winmerge [difftool "winmerge"] path = C:\\Program Files\\WinMerge\\WinMergeU.exe cmd = \"C:\\Program Files\\WinMerge\\WinMergeU.exe\" -e -u -dl \"远程版本\" -dr \"本地版本\" \"$REMOTE\" \"$LOCAL\" [merge] tool = winmerge [mergetool "winmerge"] path = C:\\Program Files\\WinMerge\\WinMergeU.exe cmd = \"C:\\Program Files\\WinMerge\\WinMergeU.exe\" -e -u -dl \"我的修改\" -dm \"基础版本\" -dr \"他人修改\" \"$LOCAL\" \"$BASE\" \"$REMOTE\" -o \"$MERGED\" trustExitCode = true
如果你的WinMerge安装路径不是默认路径,需要将上述配置中所有的路径替换为你实际的安装路径,路径中的反斜杠需要用双反斜杠转义
3. 打开VS2019,依次点击顶部菜单栏「工具」-「选项」,在左侧菜单找到「源代码管理」-「Git 全局设置」,确认差异比较工具和合并工具已经自动识别为winmerge,未识别的话手动选择即可。
4. 配置完成后,在VS2019的Git更改面板右键点击已修改的文件,选择「比较未修改的版本」就会自动调用WinMerge打开对比界面,合并冲突时也会默认调用WinMerge处理。
内容的提问来源于stack exchange,提问作者JNygrenLT
相关产品推荐
相关产品推荐

