Skip to content

Instantly share code, notes, and snippets.

@ArgonQQ
Forked from douglas/update_git_repos.sh
Last active June 10, 2021 03:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ArgonQQ/cdcd8d662a1b0e6d1cff8a58b12f4333 to your computer and use it in GitHub Desktop.
Save ArgonQQ/cdcd8d662a1b0e6d1cff8a58b12f4333 to your computer and use it in GitHub Desktop.
Update all git repositories under a base directory
#!/bin/bash
# store the current dir
CUR_DIR=$(pwd)
# exclude list - pipe sepearted e.g. ".terraform|test|foldername"
EXCLUDE=".terraform"
# Let the person running the script know what's going on.
echo "\n\033[1mPulling in latest changes for all repositories...\033[0m\n"
# Find all git repositories and update it to the master latest revision
for i in $(find . -name ".git" | cut -c 3- | grep -Ev "$EXCLUDE"); do
echo "";
echo "\033[33m"+$i+"\033[0m";
# We have to go to the .git parent directory to call the pull command
cd "$i";
cd ..;
# finally pull
git pull origin master;
# lets get back to the CUR_DIR
cd $CUR_DIR
done
echo "\n\033[32mComplete!\033[0m\n"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment