这是我尝试的结果:
$
git submodule foreach --recursive "git config --unset core.fileMode"
Entering 'buildSrc'
fatal: run_command returned non-zero status for buildSrc
我的问题是:
$ git init test-git
$ cd test-git
$ git config core.fileMode
true
$ git config --unset core.fileMode; echo $?
0
$ git config --unset core.fileMode; echo $?
5
也就是说,您无法取消未设置的值。这是您第一个问题的答案。
对于第二个问题:你需要忽略错误:
git submodule foreach --recursive "git config --unset core.fileMode || :"
:
在 shell 中的意思是 noop,“什么都不做”。即,命令是“git config --unset
,或者出现错误时不执行任何操作”。