Von Gast (nicht überprüft) , 29 April 2026

Was Sie erreichen werden

Sie werden einen Git-Worktree erstellen, um einen zweiten Branch in einem anderen Verzeichnis auszuchecken.

Das Problem

Sie sind tief in feature/checkout, als ein Teamkollege Sie wegen eines dringenden Hotfixes pingt.

Schritt 1: das bestehende Repo untersuchen

cd ~/work/myproject
git worktree list

Schritt 2: einen Worktree fur den Hotfix hinzufugen

git worktree add ../myproject-hotfix main

Schritt 3: einen neuen Branch im Worktree erstellen

cd ../myproject-hotfix
git checkout -b hotfix/cve-2026-1234
git worktree add -b hotfix/cve-2026-1234 ../myproject-hotfix main

Schritt 4: parallel arbeiten

cd ../myproject-hotfix
git push -u origin hotfix/cve-2026-1234

cd ../myproject

Schritt 5: auflisten und inspizieren

git worktree list

Schritt 6: aufraumen

git worktree remove ../myproject-hotfix
git worktree prune

Wie es funktioniert

Das .git des Original-Repos ist der einzige Object-Store.

Anwendungsfalle

Eine Kollegen-PR reviewen

gh pr checkout 123 --branch pr-123
git worktree add ../pr-123 pr-123
cd ../pr-123
npm install
npm test

Zwei Release-Branches vergleichen

git worktree add ../release-1.4 release/1.4
git worktree add ../release-1.5 release/1.5
diff -ru ../release-1.4/src ../release-1.5/src

Lang laufende CI-Builds

git worktree add ./build-linux $SHA
git worktree add ./build-windows $SHA

Backups vor destruktiven Operationen

git worktree add ../backup HEAD
git rebase -i HEAD~20

Limitierungen

  • Derselbe Branch kann nicht in zwei Worktrees sein.
  • Hooks konnen sich falsch verhalten.
  • Submodule konnen seltsam interagieren.

Aliase

[alias]
    wt = worktree
    wta = worktree add
    wtl = worktree list
    wtr = worktree remove