서브 모듈과 수퍼 프로젝트 모두에서 작업 공간의 모든 변경 사항을 푸시 (push)하기 위해 아래 스크립트를 작성했습니다. 그러나 조금 이상한 것처럼 들리지만, 내가 원하는 것을이 복합물이라고합니다. 내가 누락 된 어떤 더 좋은 방법이 있습니까?모든 서브 모듈을 재귀 적으로 푸시
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Illegal number of parameters"
exit
fi
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "${SCRIPT_DIR}/../submodule1"
git status
git add -A
git commit -m "$1"
git push origin master
cd "${SCRIPT_DIR}/../submodule2"
git status
git add -A
git commit -m "$1"
git push origin master
cd "${SCRIPT_DIR}/../submodule3"
git status
git add -A
git commit -m "$1"
git push origin master
printf "\n\nUpdating Super Project\n\n"
cd ..
git status
git add -A
git commit -m "All Submodules Updated - $1"
git push origin master
대단합니다! 감사!! –