diff --git a/git-push-all.sh b/git-push-all.sh index 1e5e023..4cf210c 100755 --- a/git-push-all.sh +++ b/git-push-all.sh @@ -54,11 +54,11 @@ do do if [ -d "$repo/.git" ] then - echo "---- git add-commit-push [`pwd`/$repo] ----" - cd "$repo" + echo "---- git commit & push [`pwd`/$repo] ----" + pushd "$repo" git add . && git commit -m "$COMMIT_MESSAGE" && git push echo "" - cd .. + popd fi done cd .. diff --git a/git-push-recursive.sh b/git-push-recursive.sh new file mode 100644 index 0000000..21697b8 --- /dev/null +++ b/git-push-recursive.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +testpath1=/faronear +testpath2=~/faronear +testpath3=/mnt/d/faronear + +if [ "$1" ] +then + FONPATH=$1 +elif [ -d $testpath1 ] +then + FONPATH=$testpath1 +elif [ -d $testpath2 ] +then + FONPATH=$testpath2 +elif [ -d $testpath3 ] +then + FONPATH=$testpath3 +else + echo "=== Enter [target path] or leave [blank] for default to `.`" + read -p ">>> " FONPATH + echo "" + if [ ! "$FONPATH" ] + then + FONPATH=. + fi +fi + +if [ ! -d "$FONPATH" ] +then + echo "*** [$FONPATH] not exist! Exit now. ***" + exit +fi + +pushd $FONPATH +echo "*** Starting from [`pwd`] ***" +echo "" + +echo "=== Enter [commit message] or leave [blank] for default to 'updated'" +read -p ">>> " COMMIT_MESSAGE +if [ ! $COMMIT_MESSAGE ] +then + COMMIT_MESSAGE="updated" +fi +echo "" + +find . -mindepth 1 -maxdepth 3 -type d -name '?*' | grep -v 'node_modules' | while read repo +do + if [ -d "$repo/.git" ] + then + echo "---- git commit & push [`pwd`/$repo] ----" + pushd "$repo" + git add . && git commit -m "$COMMIT_MESSAGE" && git push + echo "" + popd + fi +done +popd