for dir in ~/projects/git/*; do (cd "$dir" && git pull); done
再帰的にする必要がある場合:
find . -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull" \;
これは、現在のディレクトリの下にあるすべてのディレクトリに降りて、.git ディレクトリを持つサブディレクトリで git pull を実行します (-maxdepth
で制限できます)。 ).
GNU Parallel http://www.gnu.org/software/parallel/ がインストールされている場合、これを行うことができます:
cd ~/projects/git/; ls | parallel 'cd {} && git pull'
これは並行して実行されるため、一部の git サーバーのネットワーク接続が遅い場合、速度が向上する可能性があります。
詳細については、GNU Parallel の紹介ビデオをご覧ください:http://www.youtube.com/watch?v=OpaiGYxkSuQ