在Windows上使用git和Emacs eshell模式时出现问题

And*_*reo 6 git emacs eshell

当我尝试在emacs eshell模式下进行git提交时:

git commit -a -m "message"

我收到一个错误:

'c:\Program' is not recognized as an internal or external command,
operable program or batch file.  

同时在emacs shell模式中不存在此问题.如何使用git强制eshell正常工作?

Sva*_*nte 4

这似乎是你要执行的程序的目录名中的空格的问题;这个空白似乎没有被正确转义。

例如,如果你要执行的是“C:\Program Files\git\git.exe commit ...”,那么第一个空格需要转义,或者整个路径名用引号引起来,否则这一行将是解析为标记“C:\Program”、“Files\git\git.exe”、“...”,第一个标记是要执行的命令。

第一个解决方法是手动扩展全名并将其括在引号中,例如:

"C:\Program Files\git\git.exe" commit ...
Run Code Online (Sandbox Code Playgroud)