Git-Workflow-Anleitung

OpenCode Worktree: parallele Coding-Aufgaben mit Git isolieren

Ein OpenCode worktree ist ein verknüpfter Git-Arbeitsbaum: Jede Aufgabe erhält ein eigenes Verzeichnis und einen Branch, teilt aber den Repository-Verlauf. Erstellen Sie ihn mit Git, wechseln Sie in den Ordner und starten Sie OpenCode dort. So bleiben Dateien und Review-Grenzen paralleler Aufgaben getrennt.

Drei getrennte OpenCode-Aufgabenbereiche sind mit einem gemeinsamen Git-Repository verbunden
Konzeptgrafik: Jeder Worktree hat einen eigenen Checkout und teilt den Git-Verlauf.

Kurzantwort

Git-Worktrees trennen parallele OpenCode-Aufgaben

Git verwaltet verknüpfte Worktrees; OpenCode läuft im geöffneten Projektverzeichnis. Jeder Worktree hat eigene Dateien, einen eigenen Index und Branch, teilt aber Git-Verlauf und Objekte. Nutzen Sie ihn, wenn zwei unabhängige Aufgaben denselben Checkout ändern würden. Datenbanken, Umgebungsdienste, Geheimnisse und Dateien außerhalb von Git werden dadurch nicht isoliert.

Ein OpenCode worktree ist ein verknüpfter Git-Arbeitsbaum: Jede Aufgabe erhält ein eigenes Verzeichnis und einen Branch, teilt aber den Repository-Verlauf. Erstellen Sie ihn mit Git, wechseln Sie in den Ordner und starten Sie OpenCode dort. So bleiben Dateien und Review-Grenzen paralleler Aufgaben getrennt.

Weitere OpenCode-Anleitungen: OpenCode Agents und AGENTS.md · OpenCode JSONC-Konfiguration · OpenCode-Berechtigungen · OpenCode-Sitzungsspeicher.

1. Was ein Git-Worktree für OpenCode ändert

Ein Git-Worktree ist ein weiteres Arbeitsverzeichnis am selben Repository. Der Haupt-Checkout kann auf main bleiben, während ein Nachbarordner work/auth auscheckt. Dateien und aktueller Branch sind getrennt; Git teilt weiterhin Objekte und Verlauf. Deshalb ist meist kein vollständiger Klon pro Aufgabe nötig.

Für diesen Ablauf ist kein spezieller OpenCode-Worktree-Modus nötig. Starten Sie die CLI im neuen Verzeichnis; dieses wird zum Projektkontext. Globale Einstellungen können weiter gelten, aber nicht versionierte Dateien und lokale Umgebungsdaten werden nicht automatisch kopiert.

2. Einen verknüpften Worktree sicher erstellen

Prüfen Sie zuerst Branch und Änderungen des aktuellen Checkouts. Ein sauberer Startpunkt hilft, spätere Unterschiede der neuen Aufgabe zuzuordnen. Erstellen Sie vom Repository-Stamm aus einen Branch samt Worktree in einem Nachbarordner außerhalb des ursprünglichen Verzeichnisses.

Das Beispiel legt work/auth am aktuellen Commit an und speichert den Checkout unter ../app-auth. Falls der Branch bereits existiert, prüfen Sie, ob ihn ein anderer Worktree verwendet. Git verhindert normalerweise, denselben Branch gleichzeitig in mehreren verknüpften Worktrees auszuchecken.

Führen Sie die Befehle im Stamm des Haupt-Repositorys aus. Der neue Branch beginnt beim aktuellen Commit.

Beispiel: Feature-Worktree erstellen und öffnen
git status --short --branch
git worktree add -b work/auth ../app-auth
cd ../app-auth
opencode
git worktree list
git -C ../app-auth status --short --branch

3. OpenCode im richtigen Verzeichnis starten

Führen Sie nach cd ../app-auth in dieser Shell opencode aus. Das aktuelle Verzeichnis ist die wichtige Grenze: Nutzen Sie pro Worktree ein eigenes Terminal oder eine eigene Sitzung und prüfen Sie den Projektstamm, bevor Dateien geändert werden. Eine erste reine Leseaufgabe kann Branch und zu prüfende Dateien zusammenfassen.

Geben Sie jeder Sitzung eine eng umrissene Aufgabe und notieren Sie den Branch. Ein Checkout kann Authentifizierungstests übernehmen, ein anderer die Dokumentation. Lassen Sie nicht zwei Sitzungen dieselbe Datei oder denselben Ausgabeordner ändern. Getrennte Ordner reduzieren Konflikte, koordinieren Agents aber nicht automatisch.

4. Branch-, Datei- und Dienstkonflikte vermeiden

Ein Worktree trennt Git-Dateien und Index, ist aber weder Container noch Sicherheitsgrenze. Eine lokale Datenbank, ein Testserver, Cache, Docker-Projekt oder externes Konto kann weiterhin gemeinsam genutzt werden. Trennen Sie bei Bedarf Schema, Port, Projektnamen oder eine wegwerfbare Umgebung.

Git checkt die verfolgten Dateien des gewählten Commits aus. .env, Zertifikate, Cache und ignorierte Build-Ausgaben fehlen im neuen Worktree möglicherweise. Richten Sie nur die nötige Umgebung ein, laden Sie Geheimnisse über den freigegebenen Weg und prüfen Sie git status --short --branch vor und nach der Agent-Arbeit.

Schnelle Entscheidung vor einem weiteren Checkout
SituationWorktree sinnvoll?Vorher prüfen
Unabhängiges Feature in eigenem BranchJaVerantwortliche und Dateigrenzen festlegen.
Nur den aktuellen Diff untersuchenMeist nichtEine zweite Sitzung kann denselben Checkout lesen.
Aufgaben teilen Datenbank oder ServerBedingtSchema, Port oder temporären Dienst trennen.
Beide Aufgaben ändern dieselben DateienNeinÄnderungen nacheinander ausführen oder Rollen trennen.

5. Prüfen, zusammenführen und sicher aufräumen

Prüfen Sie den Worktree-Branch als eigenständige Änderung. Sehen Sie git diff durch, führen Sie Projektprüfungen in diesem Verzeichnis aus und bestätigen Sie, dass nur erwartete Dateien enthalten sind. Führen Sie nach bestandenen Tests gemäß Teamprozess zusammen oder rebasen Sie. Änderungen erscheinen erst nach geteilten Commits in anderen Checkouts.

Suchen Sie vor dem Entfernen nach nicht bestätigten Änderungen und entscheiden Sie, ob sie commit, stash oder erhalten werden. git worktree remove ../app-auth entfernt einen sauberen Checkout; bei Änderungen verweigert Git dies ohne Force-Option. Nutzen Sie Force nicht als normale Bereinigung. git worktree prune entfernt veraltete Einträge, keine aktiven Verzeichnisse.

Ein Feature-Worktree wird geprüft, in den Hauptbranch integriert und entfernt, während unfertige Arbeit getrennt bleibt
Entfernen Sie das verknüpfte Arbeitsverzeichnis erst, wenn nötige Änderungen geprüft und gesichert sind.

6. Worktree oder weitere Sitzung wählen

Ein Worktree eignet sich für getrennte Branches, Dateistände oder Review-Grenzen, die Stunden oder Tage bestehen bleiben. Für reine Recherche oder Aufgaben, die aktuelle nicht bestätigte Dateien lesen müssen, ist eine weitere Sitzung im selben Checkout einfacher. Bei aufeinanderfolgenden Aufgaben reicht ein Branch-Wechsel.

Ein Worktree bringt zusätzliche Verwaltung für Branch-Namen, Abhängigkeiten, Dienste, Tests, Zusammenführung und Bereinigung. Ändern mehrere Agents dieselben Dateien, kann die spätere Integration schwieriger werden. Teilen Sie die Arbeit zuerst in getrennte Änderungen auf oder führen Sie die Bearbeitung nacheinander aus.

7. Grenzen und typische Prüfungen

Meldet git worktree add, dass ein Branch bereits ausgecheckt ist, prüfen Sie git worktree list und wählen einen neuen Branch oder den bestehenden Worktree. Zeigt OpenCode unerwartete Dateien, prüfen Sie erst Terminalpfad und Projektstamm. Ignorierte und nicht verfolgte Dateien gehören nicht zum Checkout.

Stören sich Tests zwischen Sitzungen, suchen Sie außerhalb von Git: Datenbanken, Ports, temporäre Ordner, Generatoren und gemeinsam genutzte Caches sind typische Ursachen. Wenn das Entfernen scheitert, führen Sie git status im Worktree aus und sichern nötige Änderungen. Lassen Sie den Haupt-Checkout für die Integration bestehen.

OpenCode-Worktree-FAQ

Wie nutze ich Git-Worktrees mit OpenCode?

Führen Sie im Repository git worktree add -b branch-name ../folder-name aus, wechseln Sie in den neuen Ordner und starten opencode. Prüfen Sie Pfad und Branch vor Änderungen.

Hat OpenCode einen eigenen Worktree-Befehl?

Diese Anleitung nutzt Git's worktree-Befehle. OpenCode kann im neuen Projektverzeichnis starten; ein spezieller Worktree-Schalter ist nicht nötig.

Können zwei Sitzungen denselben Branch in zwei Worktrees verwenden?

Git verhindert normalerweise, denselben Branch in mehreren verknüpften Worktrees auszuchecken. Erstellen Sie einen eigenen Branch oder nutzen den vorhandenen Checkout.

Werden Umgebungsdateien in einen neuen Worktree kopiert?

Git checkt verfolgte Dateien aus. Ignorierte und nicht verfolgte Dateien wie .env sind nicht garantiert; richten Sie die Umgebung bewusst ein und versionieren Sie keine Geheimnisse.

Wie entferne ich einen Worktree sicher?

Prüfen Sie den Status, sichern oder committen Sie Änderungen und führen git worktree remove path aus. git worktree prune räumt veraltete Einträge auf.

Offizielle Quellen

Git- und OpenCode-Dokumentation am 23. September 2026 geprüft. Worktree-Lifecycle-Befehle gehören zu Git; prüfen Sie Optionen Ihrer installierten Version.

Weitere OpenCode-Anleitungen: OpenCode Agents und AGENTS.md · OpenCode JSONC-Konfiguration · OpenCode-Berechtigungen · OpenCode-Sitzungsspeicher.