2016-05-11 11 views
0

私は、すべて同じような命名コンテキストを持つ複数のリモートリポジトリをクローンしたいと思います。例えば、彼らはこれを見て:事前に複数のリポジトリを複製する

git clone [email protected]:foo/* 

ありがとう:

foo/stuff 
foo/morestuff 
foo/evenmorestuff 

私の質問は、私のようなものを使用して、私のローカルマシン上の別のディレクトリにこれらのリポジトリのすべてのクローンを作成することができています。

答えて

1

これを達成するためにbashの機能を使用できます。 sshfindですべてのリポジトリを取得できます。

ssh [email protected] 'find foo/ -mindepth 1 -maxdepth 1 -type d' 

-mindepth 1-maxdepth 1あなたが唯一の直接foo/なくfoo/自体または任意のネストされたファイルの下のアイテムを入手することを確認してください。 引数が-type dの場合、ディレクトリのみが返されます。

すべての結果を繰り返し処理し、それぞれに対してgit cloneを実行できます。

for repo in $(ssh [email protected] 'find foo/ -mindepth 1 -maxdepth 1 -type d'); do 
    git clone [email protected]:${repo} 
done 
+0

お寄せいただきありがとうございます。私はこれを考慮しましたが、gitサーバーへの真のシェルアクセスを妨げるアクセス制御レイヤーがあるため、find to queryを実行することができません。 – mxmxx

+0

あなたの問題は@mxmxxです。これらのリポジトリの場所によっては、[このスレッド](http://stackoverflow.com/a/34183734/6314540)で推奨されているように、サーバーを実行しているリポジトリからパスを取得することができます。 – dendress

関連する問題