Arbeitsbereichsisolation
Wie Verdent parallele Codeänderungen mit git worktrees trennt
Arbeitsbereichsisolation trennt parallele Codeänderungen auf Dateisystemebene mit git worktrees. Ein Arbeitsbereich hat ein eigenes Verzeichnis, einen eigenen Branch-Checkout, eigene Dateien und einen eigenen Staging-Status.
Die manuelle Erstellung von Arbeitsbereichen ist in der aktuellen Oberfläche von Verdent Desktop nicht verfügbar. Die Schaltfläche Neuer Arbeitsbereich, der zugehörige Tastaturkurzbefehl und In neuen Arbeitsbereich duplizieren sind ausgeblendet. Beim Duplizieren einer Antwort wird die neue Aufgabe im aktuellen Arbeitsbereich erstellt.
Was Sie lernen werden
- Wie Arbeitsbereichsisolation Konflikte verhindert
- Wie git worktrees Isolation ermöglichen
- Unterschied zwischen Basisarbeitsbereich und Arbeitsbereichen
- Wie vorhandene und von Verdent verwaltete Arbeitsbereiche in der Oberfläche angezeigt werden
- Bewährte Verfahren für die Verwaltung von Arbeitsbereichen
Was ist Arbeitsbereichsisolation?
Wenn Verdent Arbeit in separaten Arbeitsbereichen ausführt, ändern die Änderungen aus einem worktree weder die Dateien noch den Staging-Status eines anderen worktree. Dadurch werden parallele Implementierung und Review sicherer.
Funktionsweise
| Ebene | Funktionsweise |
|---|---|
| Verzeichnis | Jeder Arbeitsbereich ist ein isoliertes Verzeichnis |
| Branch | Jeder Arbeitsbereich hat einen eigenen Branch-Checkout |
| Dateien | Dateiänderungen in einem Arbeitsbereich wirken sich nicht auf andere aus |
| Staging | Jeder Arbeitsbereich hat einen eigenen Staging-Bereich |
Vorteile
Keine Beeinflussung
Dateiänderungen bleiben in separaten worktree-Verzeichnissen
Sicheres Experimentieren
Riskante Änderungen testen, ohne stabilen Code zu beeinträchtigen
Klarer Vergleich
git diff verwenden, um Ansätze über Arbeitsbereiche hinweg zu vergleichen
Selektives Rebasing
Nur Ergebnisse rebasen, denen Sie vertrauen
Basisarbeitsbereich vs. Arbeitsbereiche
Basisarbeitsbereich
Der Basisarbeitsbereich ist Ihr ursprünglicher Repository-Checkout und dient als standardmäßiger Ausgangspunkt.
| Merkmal | Beschreibung |
|---|---|
| Speicherort | Ihr ursprünglicher git clone- oder init-Speicherort |
| Primärer Branch | In der Regel auf dem main- oder Entwicklungs-Branch |
| Referenzpunkt | Quelle für den Vergleich experimenteller Arbeit |
Wann Sie den Basisarbeitsbereich verwenden sollten:
- Schnelle Änderungen, die keine Isolation benötigen
- Referenzpunkt für den Vergleich experimenteller Arbeit
- Wenn Änderungen direkt in den main-Branch gehen sollen
- Einfache Aufgaben, bei denen keine parallele Ausführung nötig ist
Arbeitsbereich
Ein Arbeitsbereich ist eine isolierte Arbeitsumgebung, die mit git worktrees erstellt wird, mit eigenem unabhängigem Branch-Checkout und Dateistatus.
Verdent kann einen Arbeitsbereich verwenden, wenn ein unterstützter Workflow isolierte Codeänderungen benötigt. Vorhandene Arbeitsbereiche bleiben ihrem Projekt zugeordnet und können mehrere Aufgaben enthalten.
Mit vorhandenen Arbeitsbereichen arbeiten
Arbeitsbereiche, die bereits zu einem Projekt gehören, bleiben im Projektbereich mit diesem Projekt gruppiert. Wählen Sie einen Arbeitsbereich aus, um seine Aufgaben und seinen Dateistatus anzuzeigen.
- Aufgaben innerhalb desselben Arbeitsbereichs teilen sich dessen Dateien, behalten aber separaten Gesprächskontext.
- Der Wechsel zu einem anderen Arbeitsbereich ändert den aktiven worktree- und Branch-Kontext.
- Beim Duplizieren einer Antwort bleibt die duplizierte Aufgabe im aktuellen Arbeitsbereich.
- Löschen Sie einen Arbeitsbereich erst, nachdem Sie benötigte Arbeit committet, rebased oder anderweitig gesichert haben.
Änderungen aus Arbeitsbereichen rebasen
Wenn Sie bereit sind, Änderungen aus einem Arbeitsbereich zurück in den main-Branch zu integrieren:
Über die Oberfläche von Verdent
Arbeit abschließen
Schließen Sie die Arbeit im Arbeitsbereich ab
Änderungen prüfen
Wählen Sie Aufgabenänderungen im mittleren Bereich, um alle Änderungen zu prüfen
Auf main-Branch rebasen
Wählen Sie Arbeitsbereichsaktionen → Auf main-Branch rebasen in der Arbeitsbereichsleiste
Konflikte lösen
Lösen Sie alle Konflikte, falls Sie dazu aufgefordert werden
Überprüfen
Prüfen Sie die Änderungen vor der Bestätigung
Arbeitsbereiche aktuell halten
Verwenden Sie Arbeitsbereichsaktionen → Mit main-Branch synchronisieren, um die neuesten Änderungen aus dem main-Branch in Ihren Arbeitsbereich zu übernehmen. Das hilft, große Konflikte beim Rebasing zu vermeiden.
Bewährte Verfahren
Wartung von Arbeitsbereichen
| Vorgehensweise | Warum |
|---|---|
| Rebased Arbeitsbereiche löschen | Gibt Speicherplatz frei |
| Aufgegebene Experimente entfernen | Hält die Arbeitsbereichsliste überschaubar |
| Anzahl der Arbeitsbereiche angemessen halten | Systemressourcen sind begrenzt |
Git-Hygiene
| Vorgehensweise | Warum |
|---|---|
| Häufig committen | Committen Sie laufende Arbeit, bevor Sie wechseln |
| Kleine Commits | Kleinere Commits lassen sich leichter cherry-picken |
| Regelmäßig mit der Basis synchronisieren | Lassen Sie Arbeitsbereiche nicht zu weit vom main-Branch abweichen |
| Konfliktkomplexität reduzieren | Regelmäßige Integration verhindert große Konflikte |
FAQs
Wie viel Speicherplatz verwendet jeder Arbeitsbereich?
Jeder Arbeitsbereich dupliziert Arbeitsdateien, teilt sich aber das Verzeichnis .git. Der Speicherbedarf entspricht ungefähr der Projektgröße pro Arbeitsbereich. Große Projekte mit vielen parallelen Arbeitsbereichen benötigen erheblichen Speicherplatz.
Kann ich einen Arbeitsbereich löschen?
Ja. Löschen Sie den Arbeitsbereich über Verdent. Dadurch wird das Verzeichnis entfernt, aber alle committeten Arbeiten auf dem Branch bleiben erhalten.
Wie erstelle ich einen neuen Arbeitsbereich?
Die manuelle Erstellung ist in der aktuellen Desktop-Oberfläche nicht verfügbar. Der Eintrag Neuer Arbeitsbereich und der Kurzbefehl sind ausgeblendet. Verdent kann Arbeitsbereiche für unterstützte isolierte Workflows weiterhin intern verwenden.
Was passiert mit nicht committeten Änderungen, wenn ich einen Arbeitsbereich lösche?
Nicht committete Änderungen gehen verloren, wenn ein Arbeitsbereich gelöscht wird. Committen oder stashen Sie Änderungen immer, bevor Sie einen Arbeitsbereich entfernen.
Kann ich einen Arbeitsbereich in den Basisarbeitsbereich umwandeln?
Es gibt keine direkte Umwandlung, aber Sie können alle Änderungen aus dem Arbeitsbereich auf den main-Branch rebasen und anschließend den Arbeitsbereich löschen. Die Branch-Historie bleibt erhalten.
Funktionieren worktrees mit allen git-Hostingdiensten?
Ja. Git-worktrees sind eine Standardfunktion von git. Sie funktionieren mit GitHub, GitLab, Bitbucket und jedem anderen git-Hostingdienst.