假设我有10个子模块:
module/1
module/2
module/3
module/4
module/5
module/6
module/7
module/8
module/9
module/10
module/
是顶层仓库。
我想要执行git submodule foreach 'git status'
,但是我不想为子模块4、6和7执行。
有没有一种方法可以做到这一点,类似于:
git submodule foreach --exclude="4 6 7" 'git status'
我尝试在命令块内部执行它,但是没成功。
git submodule foreach '
if [[ $list_of_ignores =~ *"$displayname"* ]] ; then echo ignore; fi
'
更新 - 删除了错误地添加的--exclude="4 6 7"
但是我收到了一个错误,说eval [[: not found
- 我猜这是因为它正在使用/bin/sh而不是/bin/bash?- 不确定...
git submodule
仍然是一个 shell 脚本。如果你愿意,你可以看看cmd_foreach
是如何工作的,并将其复制到你自己的变体中并添加功能。不幸的是,大部分工作都发生在git-submodule-helper
中,它不是一个脚本。 - torek