Powershell git commit 报错
问题现象
最近遇到一个问题,在windows的Powershell里,执行部分git命令时,能运行,但又同时报错
问题排查
然后实验发现,如果是直接在目标目录启动Powershell,再运行,竟然可以正常动作
进一步研究
然后在进一步分析这两种启动方式的差异,用Windows的Procmon抓进行发现,这两种启动方式的Current Directory不一样。猜想是Git的一些操作执行在了Current directory,而不是当前工作目录,导致报错
验证猜想
以默认方式启动的Powershell,cd到工作目录后,手动切换currend directory到当前目录,再重新执行git,没有报错发生,证明猜想
[Environment]::CurrentDirectory = (Get-Location).Path或[Environment]::CurrentDirectory = 'D:\预期git目录'
解决方案
用git bash或gui,别用powershell
非要用的话,从目录启动或手动输入命令