7

Ich habe gerade ein großes SVN-Repo zu git migriert und begann mit gitflow. Es funktionierte wie ein Zauber, aber jetzt denke ich darüber nach, das große Repo in eine Anzahl kleinerer aufzuteilen.Verwenden von Git-Flow mit git-Teilbaum

wir supposse das Repo-Verzeichnisbaum ist wie folgt:

/repo 
    - libs 
    - apps 
    -- app 1 
    -- app 2 

Und wir wollen, dass es in drei repos spalten, eine mit der Kernstruktur (Libs und Anwendungen Verzeichnisse) und die beiden anderen mit den Apps Verzeichnisse .

Wenn ich git subtree zum Teilen verwende, kann ich git flow einzeln in jedem Teil verwenden, oder muss ich es global verwenden?

PS: Das ist meine erste Frage in Stackoverflow ist, bitte Art :)

Antwort

5

ich nicht git Flow verwenden, aber ich würde behaupten, die Antwort hängt davon ab, wie modular Sie sind. Können Sie die Kernstruktur bereitstellen, ohne app1 und app2 zu implementieren? Können Sie app1 und app2 unabhängig voneinander bereitstellen? Ist Ihr Entwicklerteam ausreichend groß und anspruchsvoll genug, um sie als unabhängige Workflows zu behandeln?

Wenn die Antwort auf diese Fragen "Ja" ist, würde ich argumentieren, sie als mehrere Projekte zu behandeln, jedes mit einem einzigartigen Fluss. Wenn die Antwort auf eines von ihnen jedoch "Nein" lautet, würde ich vermeiden, Ihr Projekt zu zerbrechen. In der Tat, wenn Änderungen an app1 und app2 auch Änderungen am Haupt-Repository die meiste Zeit erfordern, würde ich vermeiden, Ihre Repos überhaupt zu zerbrechen.

Verschachtelte Repositories, ob sie mit Teilbaum, Untermodule oder (Gottheit verbieten) nur .gitignore ausgeführt werden, machen Arbeitsabläufe komplizierter. Befehle wie git bisect und git log werden nur ein bisschen weniger nützlich; Tracking-Geschichte und Bugs werden nur ein bisschen schwieriger. Neue Entwickler müssen nur ein bisschen mehr lernen, um mit dem Programmieren zu beginnen. Aus persönlicher Erfahrung: Diesen Weg sorgfältig gehen. Wenn Ihre Sub-Repos stark miteinander verwoben sind, werden Sie in einem Jahr wieder hier sein und diese Antwort für jemand anderen schreiben, der versucht, sein Projekt zu zerbrechen, wie eine problematische Git-Version von Pay It Forward.

+0

Vielen Dank! Das hat sehr geholfen! – algm

+0

Einige weitere Gedanken zu gebrochenen vs ganze Repositories: http://programmers.stackexchange.com/a/161324/57052 – Christopher