FluxGit zeigt Submodule, Worktrees und den Zusammenhang zwischen übergeordneten und untergeordneten Repositorys. So verbergen mehrteilige Arbeitsbereiche keine nicht committeten Änderungen und inkonsistenten Commits im übergeordneten Repository mehr.
Worktree: ein weiterer Checkout desselben Repositorys
Ein verknüpfter Worktree lässt Sie in einem anderen Ordner auf einem anderen Branch arbeiten, ohne den bereits geöffneten Checkout zu ändern. Nutzen Sie ihn für parallele Aufgaben oder Agentenversuche innerhalb eines Repositorys.
Submodul: ein separates Repository innerhalb eines übergeordneten Repositorys
Ein Submodul hat eine eigene Historie. Das übergeordnete Repository hält den konkreten Commit fest, den es vom Submodul erwartet. So können Sie ein anderes Projekt einbinden und selbst entscheiden, wann Sie diese Referenz aktualisieren.
Sie lösen unterschiedliche Probleme: Ein Worktree gibt einem Repository mehrere Arbeitsordner; ein Submodul verbindet zwei Repositorys. FluxGit zeigt verknüpfte Worktrees und den Zustand von Submodulen im Verhältnis zum übergeordneten Repository in derselben Arbeitsbereichsansicht. Lesen Sie den sicheren Worktree-Ablauf für parallele Programmieragenten sowie die Dokumentation zu Git worktree und Git-Submodulen für das zugrunde liegende Git-Verhalten.
Git worktree mit Submodulen verwenden
Worktrees und Submodule können gemeinsam verwendet werden. Prüfen Sie aber jeden Checkout separat. Git dokumentiert eine unvollständige Unterstützung von Submodulen über mehrere Worktrees hinweg und rät von mehreren Checkouts eines Superprojekts ab. Prüfen Sie diese Einschränkung vor dem Einsatz.
der Submodul-Commit im HEAD des übergeordneten Worktrees
der im Index des übergeordneten Repositorys vorgemerkte Submodul-Commit
der HEAD des initialisierten Submodul-Checkouts
Vergleichen Sie diese drei Commits, bevor Sie eine Referenz ändern. Gleiche Commits beweisen nicht, dass der Arbeitsordner des Submoduls sauber ist. FluxGit zeigt den Eltern-Kind-Zustand und abweichende Referenzen; Agent Lanes vergleicht parallele Versuche, ohne deren Änderungen anzuwenden.
Zwei Agenten-Worktrees bearbeiten dieselbe Aufgabe im Wettbewerb · Versuche vergleichen und den Gewinner über den geschützten Ablauf mergen · echte Oberfläche, synthetische Demodaten
Das Problem: mehrteilige Repositorys verbergen inkonsistente Zustände.
Submodule können vom Commit abweichen, den ihr übergeordnetes Repository festhält. Worktrees verteilen zusätzliche Branches auf mehrere Ordner. Ist dieser Zustand unsichtbar, können Sie im übergeordneten Repository einen Commit erstellen, der auf das falsche Submodul verweist.
Aktueller Umfang
Die Abläufe für Submodule und Worktrees sind in der Beta. Ausstehende Zustände werden pro Arbeitsbereich angezeigt. Destruktive Operationen an Submodulen und Worktrees durchlaufen denselben geschützten Bestätigungsablauf wie andere Operationen.
So hilft FluxGit.
Submodule
Kontext über- und untergeordneter Repositorys
Beim Klonen werden Submodule standardmäßig initialisiert. Sie können das untergeordnete oder übergeordnete Repository aus dem Kontext öffnen. In Fleet Radar können Sie einen abweichenden Submodulzeiger im übergeordneten Repository festhalten oder das Submodul zum aufgezeichneten Commit zurückführen, auf jeder Verschachtelungsebene.
Worktrees
Erstellen / öffnen / löschen
Worktree-Aktionen sind mit Hilfestellung an Schutzprüfungen gebunden, wenn ein Desktop-Backend erforderlich ist. Wenn parallele Versuche derselben Aufgabe in verknüpften Worktrees liegen, können Sie sie nebeneinander vergleichen und den Gewinner über den geschützten Ablauf mergen.
Versuche
Versuche nebeneinander
Vergleichen Sie parallele Agentenversuche nebeneinander, Datei für Datei. Dateien, die mehr als ein Versuch geändert hat, stehen zuerst. Jede Zelle öffnet den Diff dieses Versuchs. Aus dem Vergleich wird nichts angewendet.
Sicherheit
Keine stille Zerstörung
Destruktive Aktionen an Submodulen und Worktrees fragen vor dem Ausführen nach.
Parallele Versuche nebeneinander vergleichen.
Agent Lanes zeigt jeden parallelen Versuch in einer Spalte und jede Datei in einer Zeile, verglichen mit Ihrem Checkout. Lesen Sie den Diff jedes Versuchs in seiner Zelle und mergen Sie den Gewinner über den geschützten Ablauf.
Drei parallele Versuche nebeneinander · Dateien, die mehr als ein Versuch geändert hat, stehen zuerst · echte FluxGit-Oberfläche, synthetische Demodaten
Abweichenden Submodulzeiger festhalten oder zum aufgezeichneten Commit zurückkehren.
Wenn sich der Checkout eines Submoduls vom Commit entfernt hat, den das übergeordnete Repository festhält, bietet Fleet Radar zwei Aktionen an. Die eine hält den neuen Zeiger im übergeordneten Repository mit einem Commit fest, der nur diesen Zeiger enthält. Die andere führt das Submodul zum aufgezeichneten Commit zurück und behält einen Wiederherstellungspunkt. Sie verweigert die Operation, wenn dieser Checkout einen Commit zurücklassen würde, der in keinem Branch, Tag oder Remote enthalten ist. Beide Aktionen funktionieren mit verschachtelten Submodulen.
Datenschutz und Sicherheit.
Die Prüfung des Arbeitsbereichs erfolgt vorrangig lokal. FluxGit liest Ihre lokale Struktur, ohne sie irgendwohin zu senden.
Verwandte Funktionen.
Monorepo-Werkzeuge erleichtern die Arbeit mit großen Repositorys mit mehreren Ordnern.