git worktree

Arbeitsbereiche & große Projekte

Mehrere Branches gleichzeitig in getrennten Ordnern auschecken


Der Befehl 'git worktree' gibt einem Repository mehrere Arbeitsordner. Jeder Ordner hat einen anderen Branch ausgecheckt, mit eigenen Dateien und eigenem Staging-Bereich, während die Historie geteilt wird. Er ist die Alternative zum Stashen, wenn du die Aufgabe wechseln musst: öffne den dringenden Branch in einem anderen Ordner und lass deine laufende Arbeit unberührt. Ein Branch kann nur in einem Ordner gleichzeitig ausgecheckt sein.

Syntax

git worktree add [-b <new-branch>] <path> [<commit-ish>]
git worktree list
git worktree remove <worktree>
git worktree prune
[ ] optional| oder<arg> Platzhalter... wiederholbar--flag Option

Optionen

Klicke auf eine Option, um sie aufzuklappen

Einsteiger (3)

Listet alle Arbeitsordner mit Commit und Branch.

EmpfohlenWissen, welcher Branch wo offen ist

Beispiel

git worktree list

Löscht einen Arbeitsordner (er darf keine nicht committeten Änderungen haben, außer mit --force).

EmpfohlenDer saubere Weg, einen Worktree zu löschen

Beispiel

git worktree remove ../hotfix

Vergisst Worktrees, deren Ordner von Hand gelöscht wurden.

Bei BedarfNach manuellem Löschen eines Ordners aufräumen

Beispiel

git worktree prune

Die richtige Option wählen

Aufgaben wechseln

Drei Wege

BefehlDeine ÄnderungenOrdner
git stash + switchBeiseitegelegt, dann wiederhergestelltEiner
git commit (WIP) + switchIn einem temporären CommitEiner
git worktree addUnberührtZwei

Beispiele

Neuer Branch in einem neuen Ordner

git worktree add ../hotfix -b hotfix

Ordner ../hotfix auf einem neuen Branch.


Vorhandener Branch

git worktree add ../review feature/login

Einen Branch prüfen, ohne deinen zu verlassen.


Auflisten

git worktree list

Jeder Ordner mit seinem Branch.


Entfernen

git worktree remove ../hotfix

Den zusätzlichen Ordner löschen.

Workflow-Beispiele

1
git worktree add ../hotfix -b hotfix main

main in einem neuen Ordner öffnen

2
cd ../hotfix

Dort korrigieren, committen, pushen

3
git worktree remove ../hotfix

Danach aufräumen

Fehlerbehebung

fatal: 'hotfix' is already used by worktree

Ursache: Dieser Branch ist in einem anderen Ordner ausgecheckt

Arbeite in jenem Ordner, oder entferne zuerst den Worktree

Tipps & Stolperfallen

Best Practices

  • ✓Lege Worktrees neben den Hauptordner (../name), nicht hinein.

Häufige Fehler

  • ✗Einen Worktree-Ordner von Hand löschen — nutze git worktree remove (oder danach prune).
  • ✗Denselben Branch in zwei Ordnern auschecken wollen.

FAQ

A:

Ja: ein Repository, eine Historie; nur die ausgecheckten Dateien unterscheiden sich.