Batch - Git - 子模块 Foreach - 如何在 foreach 中运行多个命令

问题描述 投票:0回答:1

我尝试过的事情

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 foreach git-submodules
1个回答
0
投票

您可以使用

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
  '
© www.soinside.com 2019 - 2024. All rights reserved.