为什么Git for Windows在git-bash、git-gui和cmd.exe中显示版本不一致?
问题原因
这是Windows系统PATH环境变量优先级冲突、多版本Git共存导致的典型问题,具体逻辑如下:
- 你运行
git update-git-for-windows命令时,实际更新的是Git for Windows独立运行环境对应的Git程序,默认安装在C:\Program Files\Git\路径下,Git Bash会优先调用该路径下的2.33.0版本 - 你的设备中还存在旧版Git(2.27.0)的安装记录,旧版的安装路径被添加到了系统PATH的更高优先级位置,CMD、系统全局调用Git时会优先命中旧版本路径;Git GUI是旧版安装包附带的程序,因此也显示旧版本号
如何判断实际在用的Git版本
不同场景下调用的Git版本不同,不存在统一的「实际在用版本」,判断规则如下:
- 在Git Bash中执行Git操作,调用的是2.33.0.windows.2版本
- 在CMD、PowerShell、其他第三方终端执行Git命令,或者打开系统关联的Git GUI,调用的是2.27.0.windows.1版本
- 要确认当前终端调用的Git实际路径,只需在对应终端执行命令:
where git,输出的第一条路径就是当前终端优先调用的Git程序所在位置
修复版本不一致问题
按照以下步骤操作即可统一版本:
- 先在CMD中执行
where git,记录两个版本对应的安装路径,通常旧版路径会显示在输出结果的第一条,新版路径在第二条 - 打开Windows系统环境变量编辑页:右键「此电脑」>「属性」>「高级系统设置」>「环境变量」
- 分别检查「用户变量」中的PATH和「系统变量」中的PATH,找到旧版Git对应的路径条目,可直接删除该条目,也可以将新版Git的路径(默认是
C:\Program Files\Git\cmd)移动到所有旧版Git相关路径的上方 - 保存设置后重启所有已打开的终端,再次执行
git version验证版本是否统一
彻底删除旧版本Git
如果要彻底移除旧版本,按以下步骤操作:
- 打开Windows「设置」>「应用」>「应用和功能」,在应用列表中找到版本号为2.27.0的Git程序,点击卸载并按指引完成操作
- 卸载完成后再次执行
where git,确认输出仅剩余新版Git的路径,同时验证CMD、Git Bash、Git GUI的版本都统一为2.33.0即可 - 如果应用列表中找不到旧版Git,可根据之前
where git查询到的旧版路径,进入该目录找到unins000.exe卸载程序,双击运行完成卸载即可
内容的提问来源于stack exchange,提问作者Tom Green
相关产品推荐
相关产品推荐

