Git-Worktrees

Fortgeschrittenes Git

Amanda Crawford-Adamo

Software and Data Engineer

Was ist ein Git-Worktree?

Git-Befehl worktree

git worktree
  • Kann mehrere Branches gleichzeitig in deinem Workspace „checkouten".
  • Ähnlich wie ein Repo-Checkout, aber effizient
  • Kein Stashing nötig
  • Kein Branch-Wechsel während der Entwicklung nötig

Ein künstlicher Baum aus Kreisen und Linien

Fortgeschrittenes Git

Git Worktree versus Git Switch

Diese Tabelle vergleicht git worktree und git switch im Entwicklungs-Workflow. $$

Git Worktree Git Switch
Mehrere aktive Branches Jeweils nur ein aktiver Branch
Separate Verzeichnisse Ein einziges Arbeitsverzeichnis
Kein Stashing nötig Stashing kann nötig sein
Fortgeschrittenes Git

Einen Git-Worktree erstellen

Neuen Worktree aus <branch> im Verzeichnis <path> erstellen

git worktree add <path> <branch>

Beispiel

Erstelle einen neuen Worktree aus dem Branch bugfix/data-validation im Verzeichnis ../etl-bugfix

git worktree add ../etl-bugfix bugfix/data-validation
Fortgeschrittenes Git

Worktrees auflisten und entfernen

  • Listet alle aktiven Worktrees auf: git worktree list

Beispielausgabe

$ git worktree list
flight-pipeline            a1b2c3d [main]
flight-pipeline-feature    e4f5g6h [feature]
flight-pipeline-hotfix     i7j8k9l [hotfix]
  • Entfernt einen Worktree von einem <path>: git worktree remove <path>

Beispielausgabe

$ git worktree remove flight-pipeline-hotfix
flight-pipeline-hotfix: deleted
Fortgeschrittenes Git

Wann Git-Worktrees nutzen

Wann verwenden:

  • An mehreren Features gleichzeitig arbeiten
  • Dringende Bugfixes ohne laufende Arbeit zu stören
  • Tests parallel auf verschiedenen Branches ausführen
  • Code-Reviews, während die Entwicklung weiterläuft

Überdenken, wenn:

  • Wenig Speicherplatz verfügbar ist
  • Projekte häufige Updates und komplexe Merges haben
Fortgeschrittenes Git

Best Practices für Git-Worktrees

Bei Git-Worktrees beachtest du am besten Folgendes:

  1. Verwende klare Namenskonventionen für Worktree-Verzeichnisse
  2. Unbenutzte Worktrees regelmäßig aufräumen, um den Workspace sauber zu halten
  3. Achte auf Speicherplatz, besonders bei großen Projekten
  4. Nutze Worktrees für kurzlebige Parallelarbeit, um Verwechslungen zu vermeiden
Fortgeschrittenes Git

Lass uns üben!

Fortgeschrittenes Git

Preparing Video For Download...