Das Problem, das Worktrees losen
Sie sind mitten in einem Feature, als ein dringender Hotfix-Request eintrifft. Stash oder Kontextwechsel sind riskant und langsam. Worktrees ermoglichen das Auschecken zusatzlicher Branches in separate Verzeichnisse, alle teilen eine zugrunde liegende Objektdatenbank.
Worktree hinzufugen
git worktree add ../hotfix main
cd ../hotfix
git checkout -b hotfix/urgent
cd -
git worktree remove ../hotfix
Auflisten und prunen
git worktree list
git worktree list --porcelain
git worktree prune
git worktree remove ../old-feature
git worktree lock ../release
git worktree unlock ../release
Detached Worktrees
git worktree add --detach ../v1.0 v1.0.0
Branch-Sharing-Regeln
Derselbe Branch kann nicht in zwei Worktrees gleichzeitig ausgecheckt sein.
Anwendungsfalle
- Lang laufender CI-Build in einem Worktree, wahrend Sie weiter coden.
- Side-by-side-Vergleich zweier Branches im Editor.
- Bisect in einem Worktree, wahrend Ihr Haupt-Checkout still bleibt.
Konfiguration
git config --worktree user.email [email protected]
Haufige Fehler
Ein Worktree-Verzeichnis mit rm -rf entfernen statt git worktree remove.