Git- und KI-Agenten
Git-Arbeitsbäume für KI-Agenten: Führen Sie Claude Code und Codex parallel aus
Ein Git-Arbeitsbaum gibt jedem KI-Codierungsagenten einen eigenen Ordner und Zweig innerhalb eines Repositorys. Hier erfahren Sie, wie Sie einen Agenten pro Agent erstellen, ihn in einer Git-GUI verfolgen und die Ergebnisse ohne Kollisionen zusammenführen.

Ein Git-Arbeitsbaum ist ein zusätzlicher Arbeitsordner, der mit demselben Repository verknüpft ist: Er verfügt über einen eigenen ausgecheckten Zweig, einen eigenen Staging-Bereich und eigene Dateien, während alle Arbeitsbäume dieselben Commits, Zweige und Remotes verwenden. Damit ist git worktree die einfachste Möglichkeit, KI-Coding-Agents wie Claude Code oder Codex parallel auszuführen. Geben Sie jedem Agenten seinen eigenen Arbeitsbaum, und er kann gleichzeitig bearbeiten, erstellen, testen und festschreiben, ohne die Dateien des anderen zu berühren und ohne einen zweiten Klon.
Zwei Agenten in einem Ordner teilen sich einen Arbeitsbaum: Einer führt Tests für Dateien durch, der andere ist mitten im Umschreiben, und ein git checkout von einem von beiden bewegt den Grundstein für den anderen. Separate Klone vermeiden das, benötigen aber ihre eigenen Abrufe; Worktrees bieten Ihnen separate Ordner mit der Buchhaltung eines Repositorys.
Was ein Git-Worktree ist und was Worktrees gemeinsam haben
Jedes Repository beginnt mit einem Arbeitsbaum, dem Hauptarbeitsbaum: dem Ordner, den git clone oder git init erstellt hat. git worktree add erstellt verknüpfte Arbeitsbäume, zusätzliche Ordner, die an dieselben .git-Daten angehängt sind. Laut der offiziellen Git-Worktree-Dokumentation teilt ein verknüpfter Worktree alles mit dem Repository, außer Dateien pro Worktree wie HEAD und dem Index. In der Praxis:
| Teil des Repositorys | Eigene Kopie oder geteilt? | Was es für Parallelagenten bedeutet |
|---|---|---|
| Arbeitsdateien | Eigenes Exemplar | Die Änderungen eines Agenten überschreiben niemals die Dateien eines anderen |
HEAD und der ausgecheckte Zweig | Eigenes Exemplar | Jeder Agent bleibt in seinem eigenen Zweig |
| Index (Staging-Bereich) | Eigenes Exemplar | Ein git add in einem Arbeitsbaum stellt nichts in einem anderen bereit |
| Commits und Objekte | Geteilt | Ein in einem beliebigen Arbeitsbaum vorgenommener Commit ist in allen sichtbar |
| Zweige und Tags | Geteilt | Sie können den Zweig eines Agenten ohne Abruf aus Ihrem Hauptordner zusammenführen |
| Repository-Konfiguration | Standardmäßig freigegeben | Remotes und Aliase gelten in jedem Arbeitsbaum |
Eine Regel ist für Agenten wichtig: Standardmäßig weigert sich git worktree add, einen Zweig auszuchecken, der bereits in einem anderen Arbeitsbaum ausgecheckt ist. Jeder Agent benötigt daher eine eigene Filiale, was genau das ist, was Sie zum Zeitpunkt der Überprüfung wünschen.
So erstellen Sie einen Arbeitsbaum mit Git Worktree Add
Führen Sie die Befehle in Ihrem Repository aus und platzieren Sie neue Arbeitsbäume daneben und nicht darin, damit Editoren, Suchtools und Agenten nicht einen Checkout aus einem anderen heraus indizieren. Dadurch werden zwei Arbeitsbäume erstellt, jeder in einem neuen Zweig, der bei main beginnt:
cd ~/code/myapp
git worktree add -b agent/auth-refactor ../myapp-auth main
git worktree add -b agent/flaky-tests ../myapp-tests main
git worktree list-b erstellt den Zweig, der Pfad ist der neue Ordner und das letzte Argument ist der Commit, mit dem begonnen werden soll. git worktree list druckt jeden Arbeitsbaum mit seinem Ordner, Commit und Zweig. Um einen bereits vorhandenen Zweig zu verwenden, lassen Sie -b weg: git worktree add ../myapp-review feature/login.
Ein KI-Agent pro Arbeitsbaum: der parallele Workflow
Das Muster ist einfach: eine Aufgabe, ein Zweig, ein Arbeitsbaum, eine Agentensitzung. Sie bleiben als Prüfer im Hauptarbeitsbaum und Agenten geben niemals einen Ordner frei. Am wichtigsten ist, wie Sie die Arbeit aufteilen. Gute Parallelaufgaben sind:
- In verschiedenen Teilen des Codes, z. B. bei einem Refactor in
auth/und neuen Tests inbilling/, sodass ihre Zweige selten dieselben Zeilen berühren. - Eindeutig erledigt oder nicht erledigt: ein fehlgeschlagener Test, der bestanden werden sollte, ein Endpunkt, der hinzugefügt werden muss, eine Abhängigkeit, die aktualisiert werden muss.
- Klein genug, um es in einer Sitzung zu überprüfen. Ein großer Agentenunterschied ist ein Überprüfungsproblem, unabhängig davon, aus welchem Ordner er stammt.
So führen Sie KI-Codierungsagenten parallel zu Git Worktrees aus
Übernehmen oder speichern Sie Ihre aktuelle Arbeit
Neue Arbeitsbäume beginnen mit einem Commit, und nicht committete Änderungen in Ihrem Hauptordner bleiben erhalten, sodass jeder Agent mit demselben Commit-Status beginnen sollte.
Erstellen Sie einen Arbeitsbaum pro Aufgabe
Führen Sie
git worktree add -b agent/<task> ../<repo>-<task> maineinmal pro Aufgabe aus oder erstellen Sie die Arbeitsbäume über eine Git-GUI.Bereiten Sie jeden Ordner vor
Installieren Sie Abhängigkeiten, kopieren Sie die Umgebungsdateien, die das Projekt benötigt, und führen Sie den Build einmal aus, damit jeder Agent mit einem funktionierenden Checkout startet.
Starten Sie in jedem Ordner einen Agenten
Öffnen Sie pro Arbeitsbaum ein Terminal und starten Sie dort Ihren Agenten, zum Beispiel
claudein einem undcodexin einem anderen, jeweils mit einer schmalen Eingabeaufforderung, die den Bereich benennt, zu dem es gehört.Überprüfen, zusammenführen und bereinigen
Wenn ein Agent fertig ist, lesen Sie seinen Diff, führen Sie seinen Zweig aus Ihrem Hauptarbeitsbaum zusammen, entfernen Sie dann den Arbeitsbaum und löschen Sie den Zweig.
cd ../myapp-auth && claude
cd ../myapp-tests && codexFühren Sie jede Zeile in einem eigenen Terminal aus. Die Tests und Builds jedes Agenten werden dann mit seinen eigenen Dateien ausgeführt.
Verwendung von Git-Arbeitsbäumen mit Claude Code
Um Claude Code manuell einen eigenen Arbeitsbaum zu geben, erstellen Sie den Arbeitsbaum mit einfachem Git und starten Sie claude darin; Der Agent liest und bearbeitet dann nur diesen Ordner und führt einen Commit für diesen Zweig durch:
git worktree add ../myapp-auth -b agent/auth
cd ../myapp-auth
claudeClaude Codes --worktree-Flagge
Claude Code kann den Arbeitsbaum für Sie erstellen. Laut Arbeitsbaumdokumentation von Claude Code erstellt claude --worktree feature-auth (oder -w) einen Arbeitsbaum unter .claude/worktrees/feature-auth/ auf einem neuen Zweig namens worktree-feature-auth, der vom Standardzweig des Repositorys verzweigt ist, sofern die Einstellung von worktree.baseRef nichts anderes besagt. Eine .worktreeinclude-Datei kopiert ignorierte Dateien wie .env in jeden neuen Arbeitsbaum. Beim Beenden entfernt Claude Code einen sauberen Arbeitsbaum und seinen Zweig aus einer unbenannten Sitzung und fragt nach, bevor er einen mit Änderungen oder neuen Commits entfernt.
claude --worktree feature-authVerwenden von Git-Arbeitsbäumen mit Codex CLI
Die Codex-CLI funktioniert in dem Verzeichnis, in dem Sie sie starten, sodass ein Arbeitsbaum pro Codex-Sitzung die Bearbeitungen, Tests und Festschreibungen jeder Sitzung getrennt hält:
git worktree add ../myapp-tests -b agent/tests
cd ../myapp-tests
codexDie Codex-App und die Codex-CLI
Die Codex-App-Arbeitsbaumdokumentation von OpenAI beschreibt Arbeitsbäume, die es Codex ermöglichen, mehrere Chats in einem Projekt auszuführen. Standardmäßig gehen sie in $CODEX_HOME/worktrees, basierend auf einem Zweig, den Sie auswählen, und beginnen in einem getrennten HEAD-Zustand und nicht in einem Zweig. Im Chat-Header verschiebt „Hand off“ einen Chat zwischen einem Arbeitsbaum und Ihrem lokalen Checkout, und „Branch hier erstellen“ verwandelt die Arbeit eines Arbeitsbaums in einen Zweig, den Sie überprüfen und zusammenführen können. Mit der Codex CLI führen Sie codex aus einem Projektverzeichnis aus, also starten Sie es innerhalb des von Ihnen erstellten Arbeitsbaums.
In jedem Fall handelt es sich um gewöhnliche Git-Arbeitsbäume, die für git worktree list und jede Git-GUI sichtbar sind, die sie liest.
Eine Git-Worktree-GUI: Verfolgen Sie den Ordner und Zweig jedes Agenten
Wenn drei oder vier Agenten ausgeführt werden, besteht die Schwierigkeit darin, den Überblick zu behalten: Welcher Zweig befindet sich in welchem Ordner und welcher Agent ändert noch Dateien? GitTree, der Git-Client für macOS, Windows und Linux, der diesen Blog veröffentlicht (private Repositories eingeschlossen), liest die Arbeitsbäume, die Git bereits kennt, einschließlich der von Claude Code oder Codex erstellten, und weist jedem einen Platz in der Schnittstelle zu.

- Ein Abschnitt „WORKTREES“ im linken Bereich. Jeder Arbeitsbaum, der Hauptbaum zuerst, benannt nach seinem Zweig (oder seinem Ordner, wenn er getrennt wird), mit einem Häkchen bei dem in dieser Registerkarte geöffneten Baum. Gesperrte, gelöste und fehlende Arbeitsbäume werden gekennzeichnet.
- Geschwisterarbeitsbäume an Zweigspitzen. Der Commit-Graph markiert jeden anderen Arbeitsbaum an seiner Zweigspitze mit der Anzahl der darin enthaltenen Änderungen. Auf diese Weise können Sie schnell erkennen, welche Agenten noch Änderungen vornehmen. Clicking the marker opens that worktree’s tab.
- Erstellen Sie einen Arbeitsbaum von Ihrem Standort aus. „Arbeitsbaum erstellen…“ in der Befehlspalette oder „Arbeitsbaum aus diesem Commit erstellen…“ bei einem Commit können Sie einen neuen Zweig oder einen getrennten Checkout und dann den Ordner auswählen; Arbeitsbaum für diesen Zweig erstellen… für einen Zweig checkt diesen Zweig im neuen Ordner aus.
- Eine Registerkarte pro Arbeitsbaum mit eigenem Terminal. „Worktree in einem neuen Tab öffnen“ öffnet es wie jedes andere Repository, und das integrierte Terminal unter dem Diagramm startet im Ordner dieses Arbeitsbaums mit Ihrer eigenen Shell, sodass Sie
claudeodercodexdirekt dort starten können. - Sperren, verschieben, entfernen, bereinigen und reparieren. Mit einem optionalen Grund sperren, einen Ordner verschieben oder entfernen. Git weigert sich, einen Arbeitsbaum mit nicht festgeschriebenen Änderungen zu entfernen, und der Zweig bleibt bestehen. Prune Stale Worktrees zeigt eine Vorschau dessen an, was Git löschen würde, und Repair Worktree Links, ausgeführt von einem Arbeitsbaum, den Sie manuell verschoben haben, verbindet ihn wieder.
Jede Aktion führt das Git aus, das Sie bereits installiert haben, sodass das Ergebnis mit der Befehlszeile übereinstimmt:
| Aufgabe | Befehlszeile | In GitTree |
|---|---|---|
| Erstellen | git worktree add -b <branch> <path> <start> | Arbeitsbaum erstellen… (Befehlspalette, Festschreibungs- oder Verzweigungsmenü) |
| Liste | git worktree list | Abschnitt „WORKTREES“ und Markierungen an den Zweigspitzen |
| Offen | cd <path> | Öffnen Sie Worktree in einem neuen Tab |
| Sperren | git worktree lock --reason "<text>" <path> | Worktree sperren… (Grund optional) |
| Bewegen | git worktree move <path> <new-path> | Arbeitsbaum verschieben… |
| Entfernen | git worktree remove <path> | Arbeitsbaum entfernen… |
| Beschneiden | git worktree prune | Veraltete Arbeitsbäume beschneiden… (mit Vorschau) |
| Reparieren | git worktree repair | Worktree-Links reparieren |
The GitTree features page lists everything else the app does, and Git GUI vs command line covers when each approach is faster.
Zusammenführung der Arbeit mehrerer KI-Agenten
Da Zweige gemeinsam genutzt werden, sieht Ihr Hauptarbeitsbaum den Zweig jedes Agenten, sobald der Agent einen Commit durchführt. Behandeln Sie jeden einzelnen wie eine Pull-Anfrage eines Teamkollegen: vertrauenswürdig, aber überprüft.
- Lesen Sie zuerst den Unterschied. Vergleichen Sie den Zweig des Agenten mit
mainStück für Stück und suchen Sie nach nicht zusammenhängenden Änderungen, gelöschten Tests und neuen Abhängigkeiten. - Check for overlap. GitTree predicts conflicts before a merge, warns beside a branch name when it would conflict with
main, and hints when other unmerged branches touch the same files, all computed on your computer. Bei mehreren Agentenzweigen zeigt das, welche Zusammenführungsreihenfolge am wenigsten schadet. - Tidy the history. Squash checkpoint commits with an interactive rebase in a GUI, inside that agent’s worktree: Git won’t check out a branch that is checked out in another folder.
- Führen Sie eine Pull-Anfrage zusammen oder öffnen Sie sie. Führen Sie eine Zusammenführung aus Ihrem Hauptarbeitsbaum durch oder ziehen Sie den Zweig des Agenten auf
mainin GitTree, um eine Pull-Anfrage zusammenzuführen, umzubasieren oder zu starten. - Behalten Sie einen Weg zurück. Wenn zwei Agenten dieselben Zeilen geändert haben, siehe wie man Git-Merge-Konflikte löst; Wenn eine Zusammenführung fehlschlägt, können Sie eine Zusammenführung, ein Zurücksetzen oder ein Rebase rückgängig machen.
- Aufräumen. Entfernen Sie den Arbeitsbaum und löschen Sie dann den zusammengeführten Zweig.
git switch main
git merge --no-ff agent/auth-refactor
git worktree remove ../myapp-auth
git branch -d agent/auth-refactorGit-Worktree-Fallstricke mit KI-Codierungsagenten
- Einen Zweig in zwei Arbeitsbäume zwingen.
--forceumgeht Gits Weigerung auf Kosten zweier Ordner, die um einen Zweig streiten. Öffnen Sie stattdessen den vorhandenen Arbeitsbaum. GitTree sagt Ihnen, wo dieser Zweig ausgecheckt ist. - Angenommen, Arbeitsbäume isolieren alles. Sie isolieren Dateien, keine Dienste. Agenten, die Entwicklungsserver auf demselben Port starten oder dieselbe lokale Datenbank migrieren, kollidieren immer noch. Geben Sie daher jedem Arbeitsbaum einen eigenen Port und eine eigene Testdatenbank.
- Ordner manuell löschen oder verschieben. Git zeichnet jeden Arbeitsbaum auf. Der Datensatz eines gelöschten Ordners verbleibt, bis
git worktree prune(oder viel später die automatische Bereinigung von Git) ihn entfernt.git worktree repair, wird in einem Ordner ausgeführt, den Sie verschoben haben, und verbindet ihn erneut. Sperren Sie Arbeitsbäume auf Laufwerken, die nicht immer gemountet sind, damit sie beim Bereinigen in Ruhe bleiben. - Erzwingen Sie das Entfernen nicht überprüfter Arbeit.
git worktree removelehnt einen Arbeitsbaum mit Änderungen ab, es sei denn, Sie fügen--forcehinzu. Lesen Sie daher zuerst den Unterschied. Die Arbeitsbäume der nicht interaktiven-p-Läufe von Claude Code bleiben gesperrt, bis sie durch eine spätere Sitzung freigegeben werden. Entsperren Sie eines, bevor Sie es selbst entfernen. - Schließen der Registerkarte, auf der der Agent ausgeführt wird. In GitTree gehört das integrierte Terminal zu seiner Repository-Registerkarte, und das Schließen der Registerkarte stoppt seine Terminalsitzungen, einschließlich eines darin ausgeführten Agenten.
- Es werden mehr Agenten ausgeführt, als Sie überprüfen können. Die Überprüfung ist der eigentliche Engpass. Beginnen Sie mit zwei oder drei parallelen Aufgaben und fügen Sie weitere hinzu, sobald sich das Zusammenführen als Routine anfühlt.
Probieren Sie Worktrees bei Ihrer nächsten Aufgabe aus
Die Worktree-Befehle von Git sind alles, was Sie zum Starten benötigen, und eine grafische Benutzeroberfläche erleichtert die Überwachung mehrerer Worktrees. GitTree hat einen kostenlosen Plan für macOS, Windows und Linux, der alle Git-Funktionen abdeckt, einschließlich privater Repositorys, und Nour, der KI-Assistent, wird mit GitTree Pro geliefert. Alle Git-Funktionen sind im kostenlosen Plan enthalten, sobald Sie sich angemeldet haben, und sie benötigen Git 2.39 oder neuer; auf Ubuntu 22.04, Git auf Ubuntu aktualisieren zuerst. Folgen Sie der Linux Installationsanleitung oder besuchen Sie die GitTree Download-Seite.
Häufig gestellte Fragen
Was ist der Unterschied zwischen Git Worktree und Git Clone?
Ein Klon kopiert das gesamte Repository in einen neuen Ordner mit einer eigenen Objektdatenbank, sodass seine Zweige und Commits nur durch Push und Fetch einen anderen Klon erreichen. Ein Arbeitsbaum ist ein zusätzlicher Ordner desselben Repositorys: Commits und Zweige werden gleichzeitig gemeinsam genutzt, während jeder Ordner seine eigenen Dateien, Zweige und Staging-Bereiche behält.
Kann bei zwei Git-Arbeitsbäumen derselbe Zweig ausgecheckt werden?
Nicht standardmäßig. Git weigert sich, einen Arbeitsbaum für einen Zweig zu erstellen, der bereits in einem anderen Arbeitsbaum ausgecheckt ist, und die Force-Option, die dies überschreibt, sollte man am besten in Ruhe lassen. Geben Sie jedem Arbeitsbaum und damit jedem KI-Agenten einen eigenen Zweig, der aus demselben Commit erstellt wird, wenn sie denselben Ausgangspunkt benötigen.
Unterstützt Claude Code Git-Worktrees?
Ja. Die Dokumentation von Claude Code beschreibt ein Flag --worktree, kurz -w, das einen Arbeitsbaum unter .claude/worktrees in einem neuen Zweig erstellt und die Sitzung darin startet. Sie können auch mit git worktree add einen Arbeitsbaum erstellen, in dessen Ordner wechseln und dort Claude Code starten, was für Codex genauso funktioniert.
Wie lösche ich einen Git-Arbeitsbaum sicher?
Führen Sie git worktree remove mit dem Ordnerpfad aus. Git weigert sich, solange der Arbeitsbaum nicht festgeschriebene Änderungen oder nicht verfolgte Dateien enthält. Überprüfen oder festschreiben Sie diese also zuerst und verwenden Sie die Force-Option nur, wenn Sie sicher sind. Der Zweig bleibt erhalten. Löschen Sie ihn daher nach dem Zusammenführen separat. Wenn Sie den Ordner manuell gelöscht haben, löscht git worktree prune den verbleibenden Datensatz.
Teilen Git-Worktrees node_modules, .env oder Build-Dateien?
Nein. Ein neuer Arbeitsbaum enthält nur die Dateien, die Git verfolgt. Installierte Abhängigkeiten, Umgebungsdateien und Build-Ausgaben bleiben in dem Ordner, in dem sie erstellt wurden, sodass jeder Arbeitsbaum eine eigene Installation und eine eigene Kopie der lokalen Konfiguration benötigt. Für die von ihm erstellten Arbeitsbäume kann Claude Code ausgewählte ignorierte Dateien über eine .worktreeinclude-Datei kopieren.
Was ist der beste Git-Worktree-Manager mit GUI?
Suchen Sie nach einem Client, der jeden Arbeitsbaum auflistet, den Zweig jedes Zweigs anzeigt und anzeigt, ob er Änderungen enthält, und der Arbeitsbäume ohne Terminal hinzufügen, sperren, verschieben, entfernen, bereinigen und reparieren kann. GitTree, verfügbar auf macOS, Windows und Linux, erledigt all das und markiert Geschwister-Arbeitsbäume an ihren Zweigspitzen im Commit-Diagramm.
Startet GitTree für mich KI-Agenten in Arbeitsbäumen?
Nein. GitTree verwaltet die Arbeitsbäume und gibt jedem einen eigenen Tab mit einem integrierten Terminal, das im Ordner dieses Arbeitsbaums startet, wo Sie Claude Code, Codex oder einen anderen Agenten selbst starten. Separat kann GitTree Commit-Nachrichten entwerfen und Anforderungsbeschreibungen über Ihre eigene Claude Code-, Codex- oder Antigravity-CLI abrufen, wenn Sie auf „Generieren“ klicken.
Quellen
Behauptungen zu anderen Produkten wurden anhand der offiziellen Seiten auf 22. Oktober 2026 überprüft. Preise und Ausstattung ändern sich; Die Seiten der Anbieter sind die Quelle der Wahrheit.