新增父目录导致Git for Windows提交失败,如何修复?
解决Git for Windows提交时编辑器路径报错问题
问题根源
报错提示C:Program: command not found,核心原因是带空格的编辑器路径在Git for Windows的MinGW环境中未被正确转义,系统把空格前的C:\Program当成了独立命令,无法识别。另外,仓库的本地配置优先级高于全局配置,你之前在T目录的.git/config里设置过core.editor,移目录后这个本地配置依然生效,覆盖了全局配置。
解决方案
1. 检查并清除仓库本地的编辑器配置
先确认当前仓库是否有本地的core.editor配置:
git config core.editor
如果输出了编辑器路径,说明本地配置在生效,先清除它:
git config --unset core.editor
2. 正确配置全局编辑器路径
针对Windows环境,以下几种配置方式都能正确处理带空格的路径,选一种执行即可:
方式一:使用正斜杠路径+单引号包裹
git config --global core.editor "'C:/Program Files/Sublime Text 3/sublime_text.exe'"
方式二:反斜杠转义路径+双引号包裹(注意双引号的转义)
git config --global core.editor "\"C:\\Program Files\\Sublime Text 3\\sublime_text.exe\""
方式三:通过cmd //c启动编辑器(适配MinGW环境)
如果Sublime Text已添加到系统PATH中,可以简化为:
git config --global core.editor "cmd //c start /wait sublime_text.exe"
如果没加PATH,就写全路径:
git config --global core.editor "cmd //c start /wait \"C:\\Program Files\\Sublime Text 3\\sublime_text.exe\""
3. 验证配置是否生效
执行以下命令查看最终配置:
git config --get core.editor
输出的路径应该是带有正确引号/转义的格式,比如:'C:/Program Files/Sublime Text 3/sublime_text.exe'
4. 测试提交命令
重新执行git commit -a,此时应该能正常唤起Sublime Text编辑提交信息。
内容的提问来源于stack exchange,提问作者Argent
相关产品推荐
相关产品推荐

