Skip to content

Instantly share code, notes, and snippets.

@danielbdias
Created September 8, 2022 17:05
Show Gist options
  • Save danielbdias/be36d8e9d891824bd38cb001cac07093 to your computer and use it in GitHub Desktop.
Save danielbdias/be36d8e9d891824bd38cb001cac07093 to your computer and use it in GitHub Desktop.
Sync all Git repositories on a directory
#!/bin/sh
for code_directory in $(ls -d */)
do
# go to directory
cd $code_directory
code_directory_default_branch=$(git rev-parse --abbrev-ref origin/HEAD | sed 's@^origin/@@')
code_directory_current_branch=$(git rev-parse --abbrev-ref HEAD | sed 's@^origin/@@')
echo "Updating $code_directory ..."
echo "Current branch: $code_directory_current_branch"
echo "Default branch: $code_directory_default_branch"
echo ""
echo "Updating current branch..."
git pull origin $code_directory_current_branch
if [ $code_directory_default_branch != $code_directory_current_branch ]
then
echo ""
echo "Updating default branch..."
git checkout $code_directory_current_branch
git pull origin $code_directory_current_branch
git checkout -
fi
echo ""
# go to root
cd ..
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment