git submodule foreach git checkout main
git submodule foreach git add --all
git submodule foreach git diff-index --quiet HEAD || git commit -m "%CommitMessage%"
git submodule foreach git push
这将为所有子模块运行命令 1,然后为所有子模块运行命令 2,依此类推。
我希望只有一个 foreach,并一次执行子模块的所有命令,然后继续执行下一个子模块。
有没有办法让
git submodule foreach
调用一个方法,或者以某种方式一次调用多个命令?
您可以使用
git submodule foreach
运行 shell 脚本:
git submodule foreach sh -e -c '
git checkout main
git add --all
git diff-index --quiet HEAD || git commit -m "message"
git push
'