2011-01-08 7 views
1

Ich benutze msysgit als meine Git-Client in Windows-Plattform. Ich habe eine Reihe von abhängigen Repositories, um in meinem Projekt zu arbeiten.Git-Skript, um eine Reihe von Repositorys zu ziehen

Ist es möglich, eine Art von Skript zu schreiben, um die neuesten für alle Repositories zu ziehen. Jetzt muss ich durch alle Repositories gehen und einzeln ziehen.

Vielen Dank.

+0

Durch abhängige Repositories, meinst du git-Submodule? – Abizern

+0

Nein meine Arbeit Repositories wie meine git hub öffentlichen Repositories –

Antwort

4

diese in einer Datei, sagen pullall.sh:

for i in "[email protected]"; do 
    git pull "$i" 
done 

Aufruf als bash pullall origin github gitorious whatever von der Kommandozeile.

+1

Danke für Ihre Antwort. Was macht es eigentlich? Welche Skriptsprache ist das? Wo finde ich weitere Details dazu? –

+0

Dies ist ein Unix-Shell-Skript. MSYS kann diese unter Windows ausführen. Ich bin nicht vertraut mit Windows-Skripten (Batch-Dateien), aber das Wesentliche ist: Schleife über die Befehlszeilenargumente und führen Sie 'git pull' auf jedem von ihnen. –

+0

Was bedeutet '$ @'? Kann ich es in einer Datei wie einer Fledermausdatei behalten und es mit der 'git bash' von msysgit ausführen? –

2

Ich glaube, mr war Design nur dafür, das Arbeiten mit mehreren Repositories zu automatisieren. Zusätzlich zu Git unterstützt es Subversion, CVS, Mercurial, BZR, Darcs, Cvs und Fossil.

+0

In der Tat, nur unsicher, ob es unter MSYS unter Windows gemacht werden kann. – jmlane

2

Ich würde Ihnen empfehlen, Git-Module zu verwenden. Es ist super cool, Sie können abhängige Repositories für Ihre Projekte haben. Um dies zu tun:

  1. erstellen .gitmodules Datei
  2. hinzufügen Abschnitte
[submodule "libfoo"] 
path = include/foo 
url = git://foo.com/git/lib.git 

Die docs befinden sich in: http://www.kernel.org/pub/software/scm/git/docs/gitmodules.html

Und Sie können diese folgen Tutorial: https://git.wiki.kernel.org/index.php/GitSubmoduleTutorial

+0

Einfacher zu verwenden 'git submodule add' anstelle von .gitmodules von hand bearbeiten. Außerdem möchte er alle seine Repositorys aus GitHub ziehen, keine Untermodule eines Projekts (siehe die Kommentare unter der Frage) – Abizern

Verwandte Themen