2010-07-11 5 views
5

Ich habe eine Webanwendung unter Quellcodeverwaltung in Git. Ich habe verschiedene CSS-Dateien für verschiedene Kunden sowie Bilder und andere themenspezifische Dinge. Und auch benutzerdefinierte Berichte ... Neben dem Thema Dinge bleibt jeder andere Aspekt der App gleich. Was wäre eine empfohlene Methode, um die App und die Theme-Informationen unter Quellcodeverwaltung in Git zu halten. Soll ich Zweige für das Thema und die Berichte oder Submodule ... Während der Entwicklung würde ich gerne meine Kunden Thema zu meinem dev Zweig mögen und tun Änderungen, die ich meine Kunden bestimmten Thema begehen ...Git-Workflow für benutzerdefinierte CSS-Dateien und Themen

Ist sowas wie möglich mit GIT?

Antwort

3

Verzweigungen sind eine Möglichkeit, es zu tun, aber da Git ein DVCS ist, müssen Sie auch mit dem Aspekt der Veröffentlichung umgehen (was orthogonal to branching): was zu einem anderen Repo und wo?
Bedeutung, wenn Sie durch die Verwaltung Zweige für jeden Client zu starten, müssen Sie wirklich erinnern:

  1. auf Zweige mit dem gemeinsamen Code (git rebase --interactive) zu aktualisieren kundenspezifische Commits auf der gemeinsamen Entwicklung verpflichtet wiederholen (was sind auf der 'dev' Zweig foir Instanz).
  2. , um den richtigen Zweig zum richtigen Remote-Repo zu schieben, um die richtigen Änderungen zu veröffentlichen.

Für diese Art von Entwicklungsstruktur (ein gemeinsames Modul, mehrere kundenspezifische Module), würde ich einen Komponentenansatz betrachten und git submodules verwenden.

  • eine unabhängige Repo für alle gemeinsamen Code
  • ein Repo-pro-Client für al die CSS, Bericht und Themendateien
  • ein Elternteil Repo pro Client, der die richtigen Versionen der Rechte Submodule um aggregieren würden um die Client-Webanwendung zu erstellen und zu veröffentlichen.
+0

Danke für Ihre Antwort werde ich es versuchen. Gibt es eine Möglichkeit, ein Submodul aus vorhandenen Dateien innerhalb des gemeinsamen Modul-Repository zu extrahieren? –

+0

@server: Ich glaube schon. Siehe http://stackoverflow.com/questions/3076629/creating-a-submodule-in-a-git-project/3076862#3076862 für einen Start. – VonC