在Bash中
$ git status > /dev/null; echo $?
0
Powershell中的相同存储库
$> (Start-Process git -ArgumentList="status" -Wait -PassThru).ExitCode
129
这里发生了什么,129
意味着什么,为什么它不等于0
以及如何做到正确?
答案 0 :(得分:9)
当您错误地指定git
的参数(并且需要打印其用法)时,它将以错误代码129退出:
C:\Temp>git status --asdf
error: unknown option `asdf`
usage: git status [options] [--] <filepattern>...
.... help is printed here ....
C:\Temp>echo %ERRORLEVEL%
129
您是否可能错误地通过PowerShell传递命令? (例如,-Wait -Passthrough
是否已发送到git-status
?)
您可以通过调用git-status
命令而不是使用git
参数调用status
来完全避免传递参数。