2012-11-12 25 views
19

私はubuntuを使用していますが、gitreposの複数のgit reposのクローンがたくさんあるフォルダgitreposがあります。複数のリポジトリを含む1つのフォルダに複数のgitをプル

私はすべて自動的にgit pullを行うことができる1つのスクリプトが必要です。

[gitrepos] 
    [repo1] 
    [repo2] 
    [repo3] 
    ... 

iはスクリプトがレポ名が異なっているすべてのrepox
ノートからgitのプルをしたいと言います。

これに使用できるシェルまたはpyのスクリプトはありますか?これがうまくいく

+0

問題に適用したコード[適切にフォーマットされた](http://stackoverflow.com/editing-help)を投稿して、質問を改善してください。 –

+3

私はこの質問が閉じていたはずはないと思いますが、私はまったく同じ問題を抱えていました。投稿するコードはありません。彼の質問は、複数のgitリポジトリを管理する方法が増えていて、opqdonutが提案したように、 –

+1

チェックアウト 'mr'があると思います。ステップ 1)mrをダウンロードしてあなたのパスに追加します 2)それぞれのgit repoに移動し、 'mr register'と入力します 3)mr updateと入力して、すべてのreposでgit pullを実行します。 スーパー便利で素晴らしい質問 –

答えて

15

何かライン:〜/ gitreposから

:どこからでも

for REPO in `ls`; do (cd "$REPO"; git pull); done; 

for REPO in "`find ~/gitrepos -maxdepth 0 -type d`"; do (cd "$REPO"; git pull); done; 
+0

findの出力にforループを使用するのではなく、 'find ... -exec sh -c 'cd $ 0 && git pull' {} \;' –

+0

'ls *'が表示されます。私の '〜/ git /'フォルダから実行すると、repoサブディレクトリになります。おそらく、Google社員が探しているものではありません。 – ThorSummoner

17

ツールは、まさにこのためのもの、mrを見ています。

+0

素晴らしいツール。私のために驚くほど効果的です!私のチームが1行で作業している34のリポジトリをすべて更新できるようになりました: "mr update" –

+0

これは私が探していたものです! – dylanjameswagner

関連する問題