Der Versuch, den richtigen Ansatz, um herauszufinden, zu verwenden Submodule in git
-
29-09-2019 - |
Frage
Ich versuche, ein Submodul Setup richtig in git zu bekommen, und ich möchte sicherstellen, dass ich es verwenden rechts.
Ich habe Haupt-Repository genannt MyProject
. Ich habe einen sekundären Repository, das alle unsere Code generiert Datenzugriff enthält genannt Data
. Ich möchte Setup Data
als Submodul von MyProject
.
Data
ändert sich selten, es sei denn es eine Schemaänderung ist, oder eine kleine kleine Bug-Fix.
Lassen Sie uns sagen ich hinzufüge, einige neue Funktionen zu MyProject
, die eine Schemaänderung erfordert. Normalerweise würde ich einen Zweig des MyProject
genannt NewFeature
erstellen und es in allen meinen Änderungen zu überprüfen, bis es fertig ist mit Master zusammengeführt werden. Ich möchte auch eine Niederlassung für Data
erstellen, so dass alle Schemaänderungen von Master
seperate bleiben, bis meine Änderungen bereit sind, zusammengeführt werden.
Was ist der richtige Workflow für diese ist oder es gibt sogar ein?
Danke!
Lösung
Zweige in einem Submodule sind vollständig getrennt von den Zweigen von der übergeordneten repo.
einen NewFeature
Feature Zweig auf Ihren Eltern Repo erstellen, bedeutet nicht, Sie das gleiche im Submodul zu schaffen haben.
Es bedeutet nur, dass Ihre Eltern Repo-Commits aus diesem Submodul im NewFeature
Zweig verweisen wird. Die Submodul verpflichtet hat, kann in jeder Filiale (nur im Submodul definiert).
That being said, ist es wahrscheinlich am besten auch eine NewFeature
im subrepo zu schaffen, eine Art Namenskonvention zu schaffen, der es Ihnen sehr verbunden Reihe von Commits zwischen Eltern Repo- und Ihren Submodul zu finden.
(Plus, wie in der Frage dargestellt „ Git Submodule: Geben Sie einen Zweig / Tag “, ein Modul per se ist immer zuerst in einem frei stehenden HEAD-Modus)