Windows环境下git commit -a向编辑器传递错误的网络驱动器路径
解决Windows网络驱动器上Git Commit路径重复问题
问题现象
当Git仓库位于Windows网络驱动器(如映射的网络盘符Z:)时,执行git commit -a命令会向文本编辑器传递错误的重复路径:
\readyshare\USB_Storage\Repo\readyshare\USB_Storage\Repo\.git\COMMIT_EDITMSG
而正确路径应为:
\readyshare\USB_Storage\Repo\.git\COMMIT_EDITMSG
或映射盘符路径:
Z:\Repo\.git\COMMIT_EDITMSG
本地驱动器下无此问题,该BUG存在于Windows 7/10系统、Git 2.39.0.windows.2及更早版本中。
解决方案
1. 更新Git到最新版本
Git官方后续版本已修复该网络路径解析BUG,直接下载并安装最新版Git即可彻底解决问题。
2. 临时规避方案(无需更新)
如果暂时无法更新Git,可通过以下方式绕过问题:
- 指定编辑器绝对路径:
配置Git使用编辑器的完整绝对路径,避免路径解析逻辑出错。以Notepad++为例:git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin" - 跳过编辑器直接提交:
使用-m参数直接指定提交消息,无需打开编辑器:git commit -a -m "你的提交描述内容" - 确保工作目录正确:
先通过cd Z:\Repo(替换为你的仓库实际路径)进入仓库根目录后,再执行git commit -a命令,减少Git路径解析的出错概率。
内容的提问来源于stack exchange,提问作者OppfinnarJocke
相关产品推荐
相关产品推荐

