Skip to content

Instantly share code, notes, and snippets.

@douglas
Created October 14, 2011 15:04
Show Gist options
  • Save douglas/1287372 to your computer and use it in GitHub Desktop.
Save douglas/1287372 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)
# 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-); 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"
@Andrei-Fogoros
Copy link

Hello folks!

New year and just had to use it again - thanks for letting me know about GNU parallel =)

About the license, it is public domain - do whatever you want with it provided the gist is not used in a malicious context 👍

Thank you very much, Douglas!
Happy New Year! :)

@ramonsmits
Copy link

Had to replace all echo with printf for ANSI color output to work on Fedora 41

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment