Git Worktree
Zuletzt aktualisiert
git worktree erlaubt einem Repository, mehrere Arbeitsverzeichnisse gleichzeitig zu haben, jedes auf einem anderen Branch. Statt deine Arbeit zu stashen, um den Branch zu wechseln, checkst du den anderen Branch in einem separaten Ordner aus - prüfe einen PR, führe einen Hotfix aus oder baue einen Branch, während du an einem anderen arbeitest, alles mit derselben .git-Historie.
Probiere das im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git worktree add ../hotfix hotfix | Checkt hotfix in einem Nachbarordner aus |
git worktree add -b new ../new | Erstellt einen Branch und einen Worktree dafür |
git worktree list | Listet alle Worktrees und ihre Branches auf |
git worktree remove ../hotfix | Entfernt einen Worktree |
git worktree prune | Räumt veraltete Worktree-Einträge auf |
Praktisches Beispiel
Behebe einen Fehler auf main, ohne deinen Feature-Branch zu stören.
| Step | Command | Result |
|---|---|---|
| 1 | git worktree add ../fix main | main in ../fix ausgecheckt |
| 2 | In ../fix beheben und committen | Hotfix auf main erledigt |
| 3 | git worktree remove ../fix | Aufräumen; der Feature-Branch blieb unberührt |
git worktree FAQ
Was ist ein git worktree?
Ein Worktree ist ein zusätzliches Arbeitsverzeichnis, das an dasselbe Repository angebunden und auf einen anderen Branch oder Commit ausgecheckt ist. Damit kannst du mehrere Branches gleichzeitig in separaten Ordnern ausgecheckt haben, die alle eine
.git-Historie teilen - so musst du nicht stashen oder klonen, um an zwei Branches gleichzeitig zu arbeiten.Wie füge ich einen Worktree hinzu?
Führe
git worktree add <path> <branch> aus, zum Beispiel git worktree add ../hotfix hotfix. Git checkt diesen Branch in den neuen Ordner aus. Um gleichzeitig einen neuen Branch zu erstellen, nutze git worktree add -b <newbranch> <path>.Wann sollte ich einen Worktree statt eines Branch-Wechsels nutzen?
Nutze ihn, wenn ein Branch-Wechsel störend wäre - du hast nicht committete Arbeit, einen langen Build, den du nicht unterbrechen möchtest, oder du musst zwei Branches nebeneinander vergleichen. Ein Worktree gibt dir den anderen Branch in einem eigenen Ordner, ohne den aktuellen anzurühren.
Wie entferne ich einen Worktree?
Führe
git worktree remove <path> aus. Wenn der Ordner manuell gelöscht wurde, führe git worktree prune aus, um die veraltete Verwaltung aufzuräumen. Den Haupt-Worktree (den ursprünglichen Repo-Ordner) kannst du nicht entfernen, nur die zusätzlichen, die du hinzugefügt hast.Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um
git worktree in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt auch Branching-Workflows Schritt für Schritt.