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}"