Skip to content

Instantly share code, notes, and snippets.

@miguelfito
Forked from douglas/update_git_repos.sh
Last active February 1, 2018 15:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save miguelfito/6b1c3d98fcaa3acecd3d2b32c811c31e to your computer and use it in GitHub Desktop.
Save miguelfito/6b1c3d98fcaa3acecd3d2b32c811c31e 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 -e "\n\033[1mFetching 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 ..;
# Checkout to develop version & reset to origin/develop
git checkout develop;
git reset --hard origin/develop;
# Fetch all refs and delete old ones
git fetch --all --prune --tags;
# Pull new changes
git pull;
# lets get back to the CUR_DIR
cd $CUR_DIR
done
echo -e "\n\033[32mComplete!\033[0m\n"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment