Status: Accepted Datum: 2025-12-18 Entscheider: Team
Kontext
Mehrere parallele Aufgaben erfordern getrennte Working Directories ohne ständigen Branch-Wechsel.
Entscheidung
Wir nutzen Git Worktrees, um parallele Branches lokal in separaten Verzeichnissen zu bearbeiten.
Konsequenzen
- Schnellere Kontextwechsel ohne Stash/Checkout.
- Mehrere Arbeitsverzeichnisse muessen gepflegt werden.
Lokales Workflow-Beispiel
# neuen Worktree fuer Feature-Branch anlegen
git worktree add ../aquarius-arch-feature feature/something
# in den Worktree wechseln
cd ../aquarius-arch-feature
# spaeter: Feature in main integrieren
git switch main
git pull
git switch feature/something
git rebase main
git switch main
git merge feature/something
# Aenderungen aus anderem Branch holen (ohne Wechsel)
git fetch origin
git rebase origin/main
Lokaler Worktree-Wechsler (fzf)
gw() {
local wt
wt=$(git worktree list 2>/dev/null | \
awk '{print $1 " [" $2 "]"}' | \
fzf --prompt="Worktree > " \
--height=40% \
--reverse) || return
cd "${wt%% *}"
}