Skip to content

Instantly share code, notes, and snippets.

@alanma
Created July 19, 2017 01:49
Show Gist options
  • Save alanma/27f60ef6b3dc7274803d6b6b0f7c9c13 to your computer and use it in GitHub Desktop.
Save alanma/27f60ef6b3dc7274803d6b6b0f7c9c13 to your computer and use it in GitHub Desktop.
update git repos in a current directory
#!/bin/bash
# store the current dir
CUR_DIR=$(pwd)
# Let the person running the script know what's going on.
echo -e "\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-); do
echo -e "";
echo -e "\033[33m"+$i+"\033[0m";
# We have to go to the .git parent directory to call the pull command
cd "$i";
cd ..;
echo -e $(pwd)
# finally pull
git pull origin master;
# lets get back to the CUR_DIR
cd $CUR_DIR
done
echo -e "\n\033[32mComplete!\033[0m\n"
## One liner
# find . -name .git -type d | xargs -n1 -P4 -I% git --git-dir=% --work-tree=%/.. remote update -p
# https://github.com/devCharles/gitRepoUpdater/blob/master/updateRepos.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment