2016-12-04 2 views
1

Ich bin relativ neu zu Git. Ich möchte jedoch in der Lage sein, meine Websites über bitbucket/netlify zu implementieren, also habe ich eine Frage an die Git-Profis da draußen!Git & Unterverzeichnisse/Submodule?

Das CMS Ich benutze veröffentlicht alle meine Seiten als statische HTML/CSS/JS-Dateien in einer Verzeichnisstruktur wie folgt ...

app 
→sites 
→→customer 1 
→→customer 2 
→→customer 3 

Was für diese empfohlen werden würde, ein Repo für jeden Kunden? Ich bin nicht vertraut mit wie Submodule funktionieren, ist das vielleicht eine bessere Lösung?

Antwort

2

Aus den Git Submodule Doc

Submodule ermöglichen fremde Repositories in einem eigenen Unterverzeichnis des Quellbaums eingebettet werden, immer an einem bestimmten darauf verpflichten.

So in gewisser Weise werden Submodule gebaut, um Abhängigkeiten/Bibliotheken/Komponenten usw. zwischen Repositories zu teilen.

Betrachten Sie zwei Projekte:

  • A eine Abhängigkeit hat auf C
  • B eine Abhängigkeit hat auf C

Dann C eine gute Wahl für ein Submodul wäre.

In Ihrem Fall werden Ihre spezifischen Kundenprojekte nicht zwischen den Websites ausgetauscht, so dass sie keine gute Wahl für Submodule sind.

Auf der anderen Seite, wenn das CMS eine bessere Struktur hat, würde es einen Baum wie diese:

→→ Kunde 1
→→→ AppDependency
→→ Kunde 2
→→→ AppDependency
→→ Kunde 3
→→→ AppDependency

könnten Sie haben 3 verschiedene Repositories (1 für jeden Kunden) und AppDependency wäre eine gute Wahl für einen subm sein odul. Ich würde sehr empfehlen, versuchen, auf eine Struktur wie folgt zu gehen, da dies für Ihre Projekte langfristig sehr vorteilhaft sein könnte.

In Ihrer derzeitigen Struktur würde ich (leider) sagen, es gibt keine Möglichkeit, Bedenken zwischen den Standorten zu trennen. (Wenn Sie den geteilten Code aktualisieren, werden alle davon betroffen sein), also würde ich in diesem Fall vorschlagen, nur ein einzelnes Repo zu haben und nur vorsichtig mit der Aktualisierung des allgemeinen Codes zu sein.

+1

Vielen Dank für die gute Erklärung der Submodule. Nach allem, was ich lesen konnte, war ich ziemlich sicher, dass ich gezwungen wäre, für jeden Kunden ein Repo zu erstellen, einfach nicht sicher, ob es einfacher wäre. Ende des Tages nur ein weiterer Schritt. Keine allzu große Sache, sobald ich die entfernten Ursprünge für jeden Kunden eingestellt habe, schätze ich. –

Verwandte Themen