Pequeno script para atualizar todos os repositórios git dentro de um diretório.

Um script simples que salta para um determinado diretório (ou um padrão) e atualiza todos os repositórios git nele. Além disso, verifica se existe um controle remoto upstream. Se for esse o caso, ele busca as alterações anteriores.

#!/usr/bin/env zsh

if [[ -z "$1" ]] then
DIR
=~/Code
else
DIR
="$1"
fi

CURRENT_DIR
=`pwd`

cd
"${DIR}"
for repo in `ls`; do
cd
"$repo"
if [[ -d .git ]] then
echo
-e "33[1mFound git repository in $repo.33[0m"
git pull

if [[ ! -z `git remote | grep upstream` ]] then
echo
-e "33[1mFetching upstream changes for $repo.33[0m"
git fetch upstream

fi
fi
cd
"${DIR}"
done

cd
"${CURRENT_DIR}"