当我运行git命令时,我经常得到
sh: line 0: igncr: invalid option name
作为输出。这是由我必须让cygwin容忍的设置引起的。看起来git正在产生一个sh进程来运行。我可以将它配置为bash shell吗?
它没有增加太多,但这里要求的是git命令
gt ad -p A/B/C.csproj
导致失败的shell命令是
export SHELLOPTS
set -o igncr
如果使用GIT_TRACE = 1
运行trace: exec: 'git-ad' '-p' 'A/B/C.csproj'
trace: run_command: 'git-ad' '-p' 'A/B/C.csproj'
trace: alias expansion: ad => 'add'
trace: built-in: git 'add' '-p' 'A/B/C.csproj'
trace: run_command: 'add--interactive' '--patch' '--' 'A/B/C.csproj'
trace: exec: 'git-add--interactive' '--patch' '--' 'A/B/C.csproj'
trace: run_command: 'git-add--interactive' '--patch' '--' 'A/B/C.csproj'
trace: built-in: git 'rev-parse' '--show-prefix'
trace: built-in: git 'config' '--get-colorbool' 'color.interactive' 'false'
trace: built-in: git 'config' '--get-color' 'color.interactive.prompt' 'bold blu e'
trace: built-in: git 'config' '--get-color' 'color.interactive.header' 'bold'
trace: built-in: git 'config' '--get-color' 'color.interactive.help' 'red bold'
trace: built-in: git 'config' '--get' 'color.interactive.help'
trace: built-in: git 'config' '--get-color' 'color.interactive.error' 'red bold'
trace: built-in: git 'config' '--get-colorbool' 'color.diff' 'false'
trace: built-in: git 'config' '--get-color' 'color.diff.frag' 'cyan'
trace: built-in: git 'config' '--get-color' 'color.diff.plain' ''
trace: built-in: git 'config' '--get-color' 'color.diff.old' 'red'
trace: built-in: git 'config' '--get-color' 'color.diff.new' 'green'
trace: built-in: git 'config' '--get-color' '' 'reset'
trace: built-in: git 'config' '--bool' '--get' 'interactive.singlekey'
trace: built-in: git 'rev-parse' '--git-dir'
trace: built-in: git 'update-index' '--refresh'
trace: built-in: git 'ls-files' '--' 'A/B/C.csproj'
sh: line 0: igncr: invalid option name
trace: built-in: git 'diff-index' '--cached' '--numstat' '--summary' 'HEAD' '--' 'A/B/C.csproj'
trace: built-in: git 'diff-files' '--numstat' '--summary' '--raw' '--' 'A/B/C.csproj'
trace: built-in: git 'diff-files' '-p' '--' 'A/B/C.csproj'
trace: built-in: git 'diff-files' '-p' '--color' '--' 'A/B/C.csproj'
答案 0 :(得分:2)
请运行前缀为GIT_TRACE=1
的失败git命令,以查看生成的失败shell命令的详细信息,并从那里获取...
编辑:看到跟踪后,鉴于igncr是一个特定于cygwin的bash选项,请考虑添加一个bash函数来覆盖gt
命令并关闭该shell选项。
例如,
gt () { (set +o igncr; git "$@";) }
gt ls-files
当然你应该将gt
函数移动到你的.bashrc或类似函数。