2013-05-25 3 views
5

An meiner derzeitigen Arbeitsstelle verwenden wir git-flow, wir verwenden die Standard-Buckets (entwickeln in entwickeln, release in master, Feature this, feature that, etc).Verwendung von Git-Flow mit mehreren Git-Repositories pro Projekt/App?

Wir verwenden eine große Anzahl von Git-Repositories (pro Projekt), wo ich oft ein 'Feature' in mehr als einem Git starten muss. Typischerweise um drei Git Repos.

myApp 
    git: bitofcode1 
    git: scripts 
    git: library 

Ich versuche, den gleiche Funktion Namen ‚-Funktion-change-was auch immer‘ zu verwenden, über alle drei git repos aber es mir glaubt, dass das git-Flow-Modell für den Umgang mit neuen Funktionen in einem Projekt nicht geeignet ist über mehrere Repos verteilt.

myApp 
    git: bitofcode1 (feature-change-whatever) 
    git: scripts (feature-change-whatever) 
    git: library (feature-change-whatever) 

Meine Gedanken sind, dass, um mit ‚myapp‘ git-flow zu verwenden, ich wäre besser, meinen 3 verschiedenen git Repositories in eine einzigen größeren verschmelzen. Gibt es andere Möglichkeiten, dies während der Verwendung von Git-Flow zu adressieren?

+0

In [Programmierer] (http://programmers.stackexchange.com/questions/161293/choosing-between-single-or-multiple -projects-in-a-git-repository gibt es eine ähnliche Frage, obwohl es nicht spezifisch für git-flow ist – vguzmanp

Antwort

2

gitslave: Coordinated Multi-Repository super-Projekte für Git

gitslave erstellt eine Gruppe von verwandten Repositories-a Superproject-Repository und eine Anzahl von Slave-Repositories-alle davon gleichzeitig entwickelt werden, auf und an dem alle Git Operationen sollten normalerweise funktionieren; Wenn Sie also verzweigen, wird jedes Repository im Projekt der Reihe nach verzweigt. Ähnlich beim Commit, Push, Pull, Merge, Tag, Checkout, Status, Log usw.; Jeder Git-Befehl wird nacheinander auf dem Superprojekt und allen Slave-Repositories ausgeführt.

Auf diese Weise kann (wie bereits erwähnt) Feature Filialen über mehrere Repositories in einer „einzigen größeren“ Repo erstellen. Siehe gitslave basic tutorial.

Leider die neueste Version zum Zeitpunkt des Schreibens gitslave (2.0.2) is outdated in Bezug auf einige Änderungen in der Ebene git Ausgabe.

Bearbeiten:forked gitslave and applied some basic patches to get it working again. Überprüfen Sie es!

Mit brew auf Mac OS X können Sie jetzt:

brew tap joelpurra/joelpurra 
brew install --devel joelpurra/joelpurra/gitslave