Ich arbeite an einem Open Source Projekt auf GitHub.
Es hat ein Unterverzeichnis / Vendor, in dem es eine Kopie mehrerer externer Bibliotheken hat. Der ursprüngliche Projektbetreuer hat dieses Verzeichnis von Zeit zu Zeit mit einer neueren Kopie der externen Bibliothek aktualisiert.
Ein Entwickler schickte mir eine Pull-Anfrage mit der Idee, diese Kopie durch ein Git-Submodul zu ersetzen .
Und ich überlege, ob es eine gute Idee ist oder nicht.
Git-Modul Vorteile:
- Submodule wurden speziell für ähnliche Szenarien entwickelt
- Dadurch wird die Möglichkeit eines versehentlichen Commits mit dem Anbieter beseitigt, das beim nächsten Update überschrieben wird
Git-Modul Nachteile:
- Es sieht so aus, als ob Git-Submodule die Komplexität vom Betreuer auf eine Person verlagern, die das Projekt klonen / ziehen wird (zusätzliche Schritte nach dem Klonen erforderlich, um mit dem Projekt zu arbeiten: "Git-Submodul Init", "Git-Submodul Update"
Was ist deine Meinung dazu?
Eine Sache noch. Dieses Problem ist eine recht kleine Bibliothek mit sehr begrenzten externen Abhängigkeiten. Ich denke, jedes Build-Tool wäre für den Moment übertrieben.
git clone --recursive
und müssen sie die Befehle des Submoduls nicht ausführen. Niemand sonst hatte diesen Leckerbissen erwähnt; Die meisten Leute, die Submodule haben, machen dies in der README bekannt.