git/gitolite: großes Git-Repo mit mehreren Miniprojekten

git/gitolite: großes Git-Repo mit mehreren Miniprojekten

Ich bin ziemlich neu in der ganzen Versionskontrolle und erst recht bei Git. Ich habe Git vor Kurzem auf meinen Computern installiert und auf einem NAS-Server eingerichtet.

Ich habe jedoch mehrere Kundenordner mit mehreren Projektordnern pro Kundenordner.

Jeder dieser Client-Ordner ist ein riesiges Repository, das alle darin enthaltenen Projekte umfasst.

Ich frage mich, ob es eine Möglichkeit gibt, das aufzulösen. Zum Beispiel:

  1. Das NAS ist mein 'Ursprung' und hat Gitolite installiert

  2. Auf Computer1 habe ich alle jemals erstellten Projektordner in einem Client-Ordner (sauberer Zweig),

  3. In Computer2 mache ichnichtein neuer Checkout des Client-Zweiges (weil alle Projekte in diesem Zweig abgeschlossen sind und ich keine Arbeitskopie davon brauche), aber ichTunhabe einen brandneuen Projektordner für diesen Client „newproject“.

Gibt es eine Möglichkeit, von Computer2 aus ein Commit und Push in das NAS-Repository durchzuführen?

Oder gibt es vielleicht eine bessere Möglichkeit, dies alles zu organisieren?

Antwort1

Eine bessere Organisation von Git-Repositorys besteht darin, ein Repository pro Clientprojekt zu haben (d. h. viele Repositorys in Ihren Clientordnern: eine .git-Datei in jedem Unterverzeichnis des Clientordners, das mit dem Stammverzeichnis eines Projekts übereinstimmt).

Die Idee, ein riesiges Repo pro Kunde zu haben, ist nicht unbedingt eine gute Idee, insbesondere:

  • wenn dieser Ordner aus Projekten besteht, die sich unabhängig voneinander entwickeln können.
  • wenn das Gesamtvolumen riesig ist (was bedeutet, dass jeder Klon ein großer Klon sein wird)

Wenn einige dieser Projekte miteinander verknüpft sind, können Sie sie dennoch als ein (übergeordnetes) Repository betrachten, mit der Vorstellung vonUntermodule.

verwandte Informationen