Was ist Git Worktree ?

Ein Git-Worktree ist ein Arbeitsverzeichnis eines Git-Repositorys. Mit git worktree add lassen sich zusätzliche Arbeitsverzeichnisse anlegen, um mehrere Branches oder Commits desselben Repositorys gleichzeitig ausgecheckt zu haben. Jedes Arbeitsverzeichnis hat eigene Dateien, einen eigenen Index (Staging Area) und einen eigenen `HEAD`. Die Commit-Historie und die Branches werden gemeinsam genutzt.

Beispielsweise kann im ursprünglichen Verzeichnis die Arbeit an einem Feature weiterlaufen, während im Nachbarverzeichnis ein Hotfix auf Basis von "main" entsteht. Offene Änderungen im Feature-Arbeitsverzeichnis bleiben dabei erhalten.

bash
git worktree add -b hotfix/login ../projekt-hotfix main
git worktree list

Der erste Befehl erstellt den Branch hotfix/login ausgehend von main und checkt ihn in ../projekt-hotfix aus. Git verhindert standardmäßig, dass derselbe Branch in mehreren Worktrees gleichzeitig ausgecheckt ist.

Ein Worktree ist damit ein weiteres Arbeitsverzeichnis für dasselbe Repository. Ein Submodul bindet ein eigenständiges Repository als Unterverzeichnis ein.

Querverweise zu anderen Begriffen im Lexikon

Git
Bourne-again shell (bash)
Enterprise Application Development (EAD)

Beratung & Support

Schulungen

Anfrage für eine individuelle Schulung zum Thema GIT WORKTREE Gesamter Schulungsthemenkatalog

Fachbücher

Alle unsere aktuellen Fachbücher E-Book-Abo für ab 99 Euro im Jahr