🗓 Save the Date KI-Snack Week 2026 – Das KI-Event für Macher & Entscheider · 09.–13. November 2026 · München + Online Jetzt anmelden →
Tipps & Tricks

Effiziente Nutzung von Git Worktrees für die Entwicklung mit KI-Tools

8 min Lesezeit
Effiziente Nutzung von Git Worktrees für die Entwicklung mit KI-Tools

„Die Nutzung von Git Worktrees hat unsere Arbeitsweise revolutioniert und ermöglicht es uns, mehrere KI-Agenten parallel zu betreiben, ohne den Überblick zu verlieren“, sagte Tamir Dresher, Engineering-Leiter bei Microsoft.

Git Worktrees stellen eine separate Verzeichnisstruktur dar, die aus demselben Repository ausgecheckt wird. Entwickler können beliebig viele Worktrees anlegen, die jeweils auf einem eigenen Branch basieren und gleichzeitig auf dem Dateisystem koexistieren.

Einführung

Stellen Sie sich vor, Sie arbeiten an einem Feature-Branch mit Claude Code. Der Agent hat bereits zwanzig Minuten lang an Ihrem Code gearbeitet, den Kontext aufgebaut und Fortschritte bei der Überarbeitung der Authentifizierung erzielt. Plötzlich erscheint eine Slack-Nachricht: Die Produktion ist ausgefallen, und es wird dringend ein Hotfix auf dem Hauptbranch benötigt.

In einem herkömmlichen Workflow müssten Sie Ihre Änderungen speichern, den Branch wechseln und dabei den gesamten Fortschritt Ihres KI-Agenten verlieren. Nach der Behebung des Fehlers müssten Sie zurückwechseln und Zeit damit verbringen, den Agenten wieder auf den aktuellen Stand zu bringen. Wenn Sie zwei Agenten gleichzeitig im selben Verzeichnis ausführen, wird die Situation noch komplizierter, da beide Agenten an derselben Datei arbeiten und Änderungen ohne Warnung überschreiben können.

Git Worktrees lösen diese Probleme. Obwohl die Funktion seit der Version 2.5 von Git, die 2015 veröffentlicht wurde, verfügbar ist, hat die Welle der KI-Programmierung in den Jahren 2025–2026 sie zu einer unverzichtbaren Infrastruktur gemacht. Mit einem .git-Verzeichnis und mehreren Arbeitsverzeichnissen, die jeweils auf einem eigenen Branch basieren, erhält jeder KI-Agent seinen eigenen isolierten Arbeitsbereich. Der Hotfix hat seinen eigenen Arbeitsbereich, wodurch Konflikte vermieden werden.

Was sind Git Worktrees?

Ein Standard-Git-Repository hat ein Arbeitsverzeichnis – den Ordner, in dem Ihre Dateien gespeichert sind und in dem Sie den Code bearbeiten. Um an einem anderen Branch zu arbeiten, wechseln Sie zu diesem, was alle Dateien in diesem Verzeichnis ändert, um dem Branch zu entsprechen. Wenn Sie nicht gespeicherte Arbeiten haben, müssen Sie diese zuerst speichern. Wenn Ihr KI-Agent gerade eine Aufgabe bearbeitet, wird er unterbrochen.

Git Worktrees brechen diese Einschränkung auf. Ein Worktree ist ein separates Verzeichnis, das aus demselben Repository ausgecheckt wird. Sie können so viele Worktrees anlegen, wie Sie benötigen, wobei jeder auf einem eigenen Branch basiert und gleichzeitig auf Ihrem Dateisystem existiert.

  • my-project/ ← Haupt-Worktree (Branch: main)
  • my-project-feat-auth/ ← verlinkter Worktree (Branch: feat/auth)
  • my-project-feat-api/ ← verlinkter Worktree (Branch: feat/api)
  • my-project-hotfix-login/ ← verlinkter Worktree (Branch: hotfix/login)

Alle vier Verzeichnisse teilen sich denselben .git-Ordner. Sie teilen sich die Historie, Objekte und Commits, haben jedoch jeweils ihre eigenen ausgecheckten Dateien, ihren eigenen Index und ihren eigenen Arbeitszustand. Ein Agent, der Dateien im my-project-feat-auth/ bearbeitet, kann nichts im my-project-feat-api/ sehen oder berühren. Sie sind physisch separate Verzeichnisse, die zufällig ein gemeinsames Git-Backend nutzen.

Vorteile gegenüber mehreren Klonen

Warum sind Worktrees besser als mehrere Klone? Die naive Alternative zu Worktrees besteht darin, das Repository zweimal zu klonen und in verschiedenen Klonverzeichnissen zu arbeiten. Dies funktioniert, hat jedoch echte Kosten: Sie duplizieren das gesamte Repository auf der Festplatte, die Git-Historie wird nicht zwischen Klonen geteilt, Commits in einem Klon sind nicht sofort in einem anderen sichtbar, und es gibt keine Koordination zwischen ihnen auf der Git-Ebene. Mit Worktrees klonen Sie einmal. Jeder zusätzliche Worktree verursacht nur die Kosten der ausgecheckten Dateien, nicht eine weitere Kopie der vollständigen Historie.

Die sieben wichtigsten Befehle zur Verwaltung von Worktrees

  • git worktree add <path> -b <branch> – Erstellt einen neuen Worktree auf einem neuen Branch.
  • git worktree add <path> <existing-branch> – Checkt einen bestehenden Branch in einen neuen Worktree aus.
  • git worktree list – Zeigt alle aktiven Worktrees mit ihren Branches und Commit-Hashes an.
  • git worktree lock <path> – Verhindert, dass ein Worktree bereinigt wird (nützlich, während ein Agent läuft).
  • git worktree unlock <path> – Hebt die Sperre auf.
  • git worktree remove <path> – Löscht einen Worktree sauber (Branch bleibt erhalten).
  • git worktree prune – Bereinigt Metadaten für manuell gelöschte Worktrees.

Einrichtung von Git Worktrees

Voraussetzungen: Git 2.5 oder höher. Führen Sie git –version aus, um dies zu überprüfen. Jedes moderne System (macOS, Linux, Windows mit WSL oder Git Bash) hat eine Version über 2.5.

Schritt 1: Starten von einem sauberen Repository

Worktrees funktionieren am besten, wenn Ihr Hauptbranch sauber ist. Committen oder speichern Sie alle in Bearbeitung befindlichen Arbeiten, bevor Sie Ihren ersten Worktree erstellen.

git status

Wenn es nicht gespeicherte Arbeiten gibt, committen Sie diese:

git add . && git commit -m "checkpoint: work in progress"

Schritt 2: Erstellen Ihres ersten Worktrees

Erstellen Sie einen neuen Worktree unter ../myapp-feat-auth auf einem neuen Branch feat/auth. Ersetzen Sie „myapp“ durch Ihren Projektnamen und „feat/auth“ durch Ihren Branch-Namen:

git worktree add -b feat/auth ../myapp-feat-auth main

Überprüfen Sie, ob er erstellt wurde:

git worktree list

Sie sollten eine Ausgabe wie diese sehen:

/home/user/myapp abc1234 [main]
/home/user/myapp-feat-auth abc1234 [feat/auth]

Beide Verzeichnisse existieren und enthalten dieselben Dateien vom Hauptbranch. Ab diesem Punkt bleiben alle Änderungen, die Sie in myapp-feat-auth/ vornehmen, auf feat/auth und sind vollständig isoliert vom Hauptbranch.

Schritt 3: Einrichten der Umgebung im neuen Worktree

Dies ist der Schritt, den die meisten Tutorials überspringen. Ein Worktree ist ein neues Arbeitsverzeichnis. Es hat nicht automatisch Ihre .env-Datei, Ihre installierten node_modules oder Ihre Python-virtuelle Umgebung. Sie müssen diese explizit einrichten.

cd ../myapp-feat-auth

Kopieren Sie Umgebungsdateien, die in Git ignoriert werden:

cp ../myapp/.env .env
cp ../myapp/.env.local .env.local 2>/dev/null || true

Für Node.js-Projekte: Installieren Sie die Abhängigkeiten:

npm install

Für Python-Projekte: Erstellen und aktivieren Sie eine virtuelle Umgebung:

python -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt

Schritt 4: Überprüfen, ob der Worktree isoliert ist

Von innerhalb des neuen Worktrees:

git branch

Es sollte anzeigen: * feat/auth

Führen Sie eine Teständerung durch:

echo "// test" >> test-isolation.js
git status

Es zeigt nur die Änderung in diesem Worktree an. Wechseln Sie zum Hauptverzeichnis und überprüfen Sie, ob es nicht betroffen ist:

cd ../myapp
git status

Sauber – die Änderung test-isolation.js ist hier nicht sichtbar.

Ein praktisches Fallbeispiel

Das klarste dokumentierte Beispiel für die Verwendung von Git Worktrees in der KI-gesteuerten parallelen Entwicklung stammt von der Microsoft Global Hackathon 2025.

Tamir Dresher, Engineering-Leiter, sah sich einem Problem gegenüber, das jeder, der mit KI-Agenten arbeitet, irgendwann erlebt: Zu viele Funktionen, zu wenig Zeit und keine Möglichkeit, mehr als eine Sache gleichzeitig zu bearbeiten, ohne ständig den Kontext zu wechseln. Das Erstellen mehrerer Klone des Repositories war umständlich. Der Wechsel der Branches zerstörte den Kontext des KI-Agenten. Es musste sich etwas ändern.

Die Lösung bestand darin, Git Worktrees zu verwenden, um das zu schaffen, was Dresher als ein virtuelles KI-Entwicklungsteam beschrieb. Jede Funktion erhielt ihren eigenen Worktree. Jeder Worktree erhielt sein eigenes VS Code-Fenster. Jedes Fenster führte seinen eigenen KI-Agenten aus. Dreshers Rolle änderte sich von Entwickler zu technischer Leiter: Aufgaben festlegen, Ergebnisse überprüfen, Agenten anleiten, die feststeckten, und abgeschlossene Arbeiten zusammenführen.

Die Einrichtung sah folgendermaßen aus:

  • myapp/ ← Hauptfenster: Koordination und Überprüfungen
  • myapp-feat-authentication/ ← Agent 1: Implementierung des OAuth2-Flows
  • myapp-feat-api-endpoints/ ← Agent 2: Erstellung von REST-Endpunkten
  • myapp-bugfix-login-crash/ ← Agent 3: Behebung eines Produktionsfehlers

Jedes VS Code-Fenster war völlig unabhängig. Sprachserver, Linter und Testläufer liefen pro Fenster. Die Agenten berührten nie die Dateien des anderen. Als Agent 1 fertig war, überprüfte Dresher den Diff, genehmigte ihn und öffnete einen Pull Request (PR) von diesem Branch – der gleiche Workflow wie bei der Überprüfung eines PR von einem menschlichen Ingenieur.

Fazit

Git Worktrees sind kein fortgeschrittenes Git-Wissen. Sie sind ein grundlegendes Infrastruktur-Element, das unverzichtbar wurde, als KI-Programmierungsagenten begannen, parallel an denselben Codebasen zu arbeiten. Der Workflow in diesem Artikel ist nicht theoretisch. Es ist das, was Dreshers Team beim Microsoft Global Hackathon verwendet hat. Es ist das Muster, auf das sich die Agenten-Community aus gutem Grund geeinigt hat: Es ist die einfachste Lösung, die zuverlässig das Problem löst, für das sie entwickelt wurde.

Die Einrichtungskosten sind gering. Die vier Skripte in diesem Artikel decken den gesamten Lebenszyklus ab – erstellen, synchronisieren und bereinigen – in etwa 120 Zeilen Bash. Das konzeptionelle Modell ist einfach: eine Aufgabe, ein Branch, ein Worktree, ein Agent. Der Vorteil ist, dass Sie mehrere Agenten parallel betreiben können, ohne den Nachmittag mit dem Entwirren von Konflikten zu verbringen, die keiner der Agenten absichtlich verursacht hat.

Wenn Sie bereits KI-Programmierungswerkzeuge verwenden und noch keine Worktrees nutzen, richten Sie diese bei Ihrem nächsten Projekt ein. Das Skript create-worktree.sh ist ein zehnsekündiger Start. Wenn Sie einen Teamworkflow rund um KI-Agenten aufbauen, helfen Ihnen AGENTS.md und das parallele Einrichtungsskript, von ad-hoc-Sitzungen zu einem wiederholbaren Prozess zu wechseln, der skalierbar ist.

Das Modell schreibt den Code. Ihre Aufgabe ist es, die Bedingungen zu schaffen, unter denen es dies sauber, parallel und ohne sich selbst im Weg zu stehen, tun kann. Wenn Sie mehr über die Grundlagen von KI-Programmierung erfahren möchten, werfen Sie einen Blick auf wesentliche Python-Konzepte für KI-Ingenieure. Für die Nutzung von KI-Tools können Sie sich auch 5 kostenlose KI-Tools zur Codeverständnis und Dokumentation ansehen. Wenn Sie sich für Orchestrierungsframeworks interessieren, sind die Top 7 AI Agent Orchestration Frameworks ebenfalls einen Blick wert.

„`


Quellen: kdnuggets

Bildquelle: KI generiert

🚀
KI-Snack Week 2026 · 09.–13. November
Das KI-Event für Macher & Entscheider
2 Tage live in München + 3 Tage Online-Masterclasses · Jetzt Ticket sichern
Mehr erfahren →
KI Snack