Git Worktree: mehrere Branches gleichzeitig auschecken

Git-Worktree-Anleitung

Git Worktree: add, list, remove und prune mit Beispielen | We.Inc

Erstelle den genauen git worktree add Befehl für einen neuen Branch, einen bestehenden Branch oder einen Detached Commit und nutze dann list, lock, move, remove und prune sicher.

Mit git worktree kann ein Repository mehrere Arbeitsordner haben, jeder auf seinem eigenen Branch, die sich einen einzigen Objektspeicher teilen. Führe git worktree add ../hotfix -b hotfix aus, um einen neuen Ordner auf einem neuen Branch anzulegen, git worktree list, um alle zu sehen, und git worktree remove ../hotfix, wenn du fertig bist. Ein zweiter Klon ist nicht nötig.

Die Worktree-Befehle, die du im Alltag brauchst

Jedes Mal zu stashen, zu wechseln und neu zu bauen, wenn jemand nach einem schnellen Fix fragt, kostet Zeit. Ein Worktree gibt dir einen zweiten Checkout desselben Repos in einem anderen Ordner, sodass ein langer Testlauf, ein Code-Review und ein dringender Patch jeweils in ihrem eigenen Verzeichnis leben können. Hol dir die Befehle mit dem Generator und sieh in der Referenz nach den selteneren Unterbefehlen.

Häufige Fragen

Was ist der Unterschied zwischen einem Worktree und einem Klon?

Ein Klon kopiert das ganze Repository inklusive Historie. Ein verknüpfter Worktree teilt sich die Objekte und Refs des ursprünglichen Repositorys und fügt nur einen neuen Arbeitsordner plus ein paar Metadaten hinzu, sodass Commits aus einem Worktree in den anderen sofort sichtbar sind, ohne Fetch.

Können zwei Worktrees denselben Branch nutzen?

Standardmäßig nicht. git worktree add lehnt einen Branch ab, der bereits woanders ausgecheckt ist, weil zwei Ordner, die denselben Branch bewegen, gegenseitig ihre Arbeit überschreiben würden. --force hebt das auf, aber ein Detached HEAD oder ein zweiter Branch ist fast immer die bessere Wahl.

Warum schlägt git worktree remove fehl?

Der Befehl verweigert den Dienst, wenn der Ordner geänderte versionierte oder nicht versionierte Dateien enthält, damit du keine Arbeit verlierst. Committe oder bereinige den Ordner zuerst oder übergib --force. Ein gesperrter Worktree braucht --force zweimal.

Was macht git worktree prune?

Der Befehl löscht die übrig gebliebenen Einträge, die Git für Worktrees speichert, deren Ordner nicht mehr existieren, zum Beispiel nachdem du einen mit rm -rf entfernt hast. Mit -n siehst du vorher, was entfernt würde.

Wie benenne ich einen Worktree-Ordner um oder verschiebe ihn?

Nutze git worktree move <worktree> <new-path>, damit Git seine Einträge aktualisiert. Wenn du ihn schon mit dem Dateimanager verschoben hast, führe am neuen Ort git worktree repair aus, um ihn wieder zu verbinden.

Gute Gründe für Worktrees

Was geteilt wird und was nicht

Alle git worktree Unterbefehle

git worktree Unterbefehle und ihre Syntax

Ein Hotfix, ohne deinen Branch zu verlassen

Production patchen, während ein Feature halb fertig ist

Dein Feature-Ordner bleibt genau so, wie er war. Der Fix lebt in einem Nachbarordner und wird nach dem Push entfernt.

Worktrees in skriptfreundlicher Form auflisten

Jeder Worktree ist ein Block von Zeilen, getrennt durch eine Leerzeile: sein Pfad, der HEAD-Hash und der Branch (oder detached).

Worktree-Befehlsgenerator

Ordner für den Worktree

Branch-Name

Ausgangspunkt (Branch, Tag oder Commit)

Was ausgecheckt werden soll

Neuer Branch

Bestehender Branch

Detached Commit

Anlegen und öffnen

Wenn du fertig bist

Gib einen Ordnerpfad ein, um die Befehle zu sehen.

Tipp: Ein Pfad, der mit ../ beginnt, legt den neuen Ordner neben deinen Haupt-Checkout.

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap