for dir in ~/projects/git/*; do (cd "$dir" && git pull); done
Wenn es rekursiv sein soll:
find . -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull" \;
Dies wird in alle Verzeichnisse unter dem aktuellen absteigen und einen Git-Pull auf den Unterverzeichnissen durchführen, die ein .git-Verzeichnis haben (Sie können es mit -maxdepth
einschränken ).
Wenn Sie GNU Parallel http://www.gnu.org/software/parallel/ installiert haben, können Sie Folgendes tun:
cd ~/projects/git/; ls | parallel 'cd {} && git pull'
Dies wird parallel laufen, wenn einige der Netzwerkverbindungen der Git-Server langsam sind, kann dies die Dinge beschleunigen.
Sehen Sie sich das Einführungsvideo für GNU Parallel an, um mehr zu erfahren:http://www.youtube.com/watch?v=OpaiGYxkSuQ