for dir in ~/projects/git/*; do (cd "$dir" && git pull); done
Se hai bisogno che sia ricorsivo:
find . -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull" \;
Questo scenderà in tutte le directory sotto quella corrente ed eseguirà un git pull su quelle sottodirectory che hanno una directory .git (puoi limitarla con -maxdepth
).
Se hai installato GNU Parallel http://www.gnu.org/software/parallel/ puoi farlo:
cd ~/projects/git/; ls | parallel 'cd {} && git pull'
Questo verrà eseguito in parallelo, quindi se alcune delle connessioni di rete dei server git sono lente, ciò potrebbe velocizzare le cose.
Guarda il video introduttivo per GNU Parallel per saperne di più:http://www.youtube.com/watch?v=OpaiGYxkSuQ