只需将命令包装成双引号,例如:
foo = !"echo foo; echo bar"
要包含分号find
,请对其进行双重转义,例如:
pull-all = !"find . -name .git -type d -print -execdir git pull origin \\;"
与您的命令相同:
my-alias = "submodule foreach 'git foo; git bar'"
对于故障排除,请在命令前加上GIT_TRACE=1
调试别名,例如
$ GIT_TRACE=1 git my-alias
18:16:07.904421 git.c:282 trace: alias expansion: my-alias => 'submodule' 'foreach' 'git foo; git bar'
18:16:07.904437 git.c:557 trace: exec: 'git-submodule' 'foreach' 'git foo; git bar'
18:16:07.904443 run-command.c:347 trace: run_command: 'git-submodule' 'foreach' 'git foo; git bar'