ГИТ-подмодуль-Еогеасп
git submodule
предоставляет утилиту для перебора всех подмодулей:
Команда для выполнения git commit
в каждом подмодуле в текущем проекте выглядит следующим образом:
git submodule foreach "git commit"
ГИТ-Еогеасп
Для удобства я создал простой bash-скрипт, который запускает произвольную команду в текущем проекте плюс все его подмодули. Таким образом, мне не нужно вводить команду дважды (один раз для родительского проекта, затем снова для git-submodule-foreach)
~ / bin / ГИТ-Еогеасп
#!/bin/bash
set -e
if [ "$*" == "" ]; then
echo "Usage: $0 COMMAND"
echo
echo "Run an arbitrary COMMAND in the current git repository plus all of the submodules"
echo
exit 1
fi
echo "Entering '.'"
# run the command in PWD
"$@"
# now run the command on submodules
git submodule foreach "$*"
Поместите исполняемый файл git-foreach
где-нибудь в $PATH
и запустите его из репозитория git:
# describe the commit at HEAD for the project and all subprojects:
git foreach git describe