Welche Funktionen kann ich verwenden, um alle Submodule (lokales Repo) mit der Version in einem entfernten Zweig zu synchronisieren/init/update?git - Abzweig und Submodule auschecken
Die „Sync“ (nennen wir es, dass ich meine nicht git sync!) Muss auch funktionieren, wenn:
- Ein Submodul nur
- Dateien innerhalb eines auf dem entfernten Zweig hinzugefügt wurde Submodul wurde lokal hinzugefügt/entfernt/modifiziert. Verfolgt oder nicht verfolgt.
- Submodule werden entfernt (optional)
Wesentlichen die lokalen Repo an genau der gleichen Version wie der Remote-Zweig immer sein, ich will. Ohne viel zu fummeln, wenn ich etwas in den Submodulen ändere. Also kein manuelles ssh'ing zum Server, um ein neues Submodul zu initiieren, nur damit das Deploy-Skript funktioniert ...
Kann dies erreicht werden, ohne das gesamte Repository zu klonen (oder zu transferieren)? Ich entschied mich für git, um eine sichere und schnelle Möglichkeit zu haben, meine Quellen bereitzustellen. Aber die einzige Option, die ich mir vorstellen kann, ist, eine komplette git clone --recursive
zu machen und Submodule an ihren entsprechenden Tags als nächstes auszuprobieren. In diesem Fall würde rsync die Synchronisierung von Dateien wahrscheinlich besser erledigen.
Jedes Submodul ist ebenfalls ein eigenes Repository. Wenn Sie also das Top-Level-Repository R mit drei Submodulen S0, S1, S2 haben, müssen Sie sich um * vier * Repositories kümmern. Aber Repositories sind billig - nicht so billig wie Zweigstellen, aber immer noch ziemlich billig - wenn Sie * Referenzklone * verwenden. Die Submodule sind immer noch ein Schmerz in der Patootie. :-) – torek