2016-10-12 12 views
0

vsts個人用アクセストークンを使用して自動スクリプトを作成し、プロジェクト内のすべてのリポジトリを自分のローカルにクローンしました。スクリプトは特定のリポジトリのgitから最新の変更を引き出します

repoPaths=('repo1Url','repo2Url',etc...) 
for i in "${repoPaths[@]}" 
do 
    git clone $repPaths[i] $localPath 
done 

今、私はクローンがレポのの全てから入手であれば、最新の変更をプルするために上記のbashスクリプトでいくつかの変更をしようとしています。

お勧めします。

+0

ときに存在する場合、これはfatal: destination path 'repo1Url' already exists and is not an empty directory.ように見えるいくつかのエラーになります'git clone'を実行すると、その時点で最新の変更が得られます。 – ElpieKay

+0

「クローンが利用可能です」ということを例にして具体的に教えてください。 –

+0

@Ashutosh Jindal:最初にスクリプトを実行するとクローンが作成されます。ローカルに変更を加えたら、今度はスクリプトを再実行します。ローカルの変更を最新のものにマージしたいのですが、現在はこれはありません。実装されました。 – Vinodh

答えて

0

2つのステップがあります.1つはxディレクトリにすべてのreposをプルし、もう1つはxディレクトリにすべてのreposをクローンします。このような何かが十分でなければならない:だから組み合わせ

find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \; 

を、なるだろう:

find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \; 
repoPaths=('repo1Url','repo2Url',etc...) 
for i in "${repoPaths[@]}" 
do 
    git clone $repPaths[i] $localPath 
done 

注:それはすでに

関連する問題