Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.devin.ai/llms.txt

Use this file to discover all available pages before exploring further.

Devin Desktop unterstützt Git-Worktrees, um Cascade-Tasks parallel auszuführen, ohne Ihren Haupt-Workspace zu beeinträchtigen. Bei der Verwendung von Worktrees erhält jede Cascade-Unterhaltung ihre eigene Sitzung. So kann Cascade Änderungen vornehmen sowie Code erstellen und testen, ohne Ihren Haupt-Workspace zu beeinträchtigen.

Grundlegende Nutzung von Worktrees

Am einfachsten beginnen Sie mit Worktrees, indem Sie unten rechts im Cascade-Eingabebereich in den Modus „Worktree“ wechseln.
Derzeit können Sie nur zu Beginn einer Cascade-Sitzung zu einem Worktree wechseln. Unterhaltungen können nach dem Start nicht mehr in einen anderen Worktree verschoben werden.
Nachdem Cascade im Worktree Dateiänderungen vorgenommen hat, können Sie auf „merge“ klicken, um diese Änderungen wieder in Ihren Haupt-Workspace zu übernehmen.

Speicherort

Worktrees werden innerhalb von ~/.windsurf/worktrees/<repo_name> nach Repo-Namen organisiert. Jeder Worktree erhält einen eindeutigen zufälligen Namen. Um eine Liste der aktiven Worktrees anzuzeigen, können Sie innerhalb des Repository-Verzeichnisses git worktree list ausführen.
Da Worktrees in einem anderen Verzeichnis als Ihr ursprüngliches Projekt liegen, können Build-Systeme oder Tools, die auf relativen Pfaden basieren (z. B. Verweise auf ../shared-lib, per Symlink eingebundene Abhängigkeiten oder Quellabhängigkeiten in einem Monorepo, die per Pfad bezogen werden), innerhalb eines Worktrees fehlschlagen. Wenn Ihr Projekt relative Pfade außerhalb des Root-Verzeichnisses des Repositorys verwendet, konfigurieren Sie einen post_setup_worktree hook, um die erforderlichen Symlinks zu erstellen oder die benötigten Dateien an die erwarteten Speicherorte zu kopieren.

Setup-Hook

Jeder Worktree enthält eine Kopie Ihrer Repository-Dateien, aber keine .env-Dateien oder anderen Pakete, die nicht versionskontrolliert sind. Wenn Sie in jedem Worktree zusätzliche Dateien oder Pakete einbinden möchten, können Sie den Hook post_setup_worktree verwenden, um sie in das Worktree-Verzeichnis zu kopieren. Der Hook post_setup_worktree wird ausgeführt, nachdem jeder Worktree erstellt und konfiguriert wurde. Er wird im neuen Worktree-Verzeichnis ausgeführt. Die Umgebungsvariable $ROOT_WORKSPACE_PATH verweist auf den ursprünglichen Workspace-Pfad und kann verwendet werden, um auf Dateien zuzugreifen oder Befehle relativ zum ursprünglichen Repository auszuführen.

Beispiel

Kopieren Sie Umgebungsdateien und installieren Sie Abhängigkeiten, sobald ein neuer Worktree erstellt wird. Konfiguration (in .windsurf/hooks.json):
{
  "hooks": {
    "post_setup_worktree": [
      {
        "command": "bash $ROOT_WORKSPACE_PATH/hooks/setup_worktree.sh",
        "show_output": true
      }
    ]
  }
}
Skript (hooks/setup_worktree.sh):
#!/bin/bash

# Environment-Dateien aus dem ursprünglichen Workspace kopieren
if [ -f "$ROOT_WORKSPACE_PATH/.env" ]; then
    cp "$ROOT_WORKSPACE_PATH/.env" .env
    echo "Copied .env file"
fi

if [ -f "$ROOT_WORKSPACE_PATH/.env.local" ]; then
    cp "$ROOT_WORKSPACE_PATH/.env.local" .env.local
    echo "Copied .env.local file"
fi

# Dependencies installieren
if [ -f "package.json" ]; then
    npm install
    echo "Installed npm dependencies"
fi

exit 0
Dieser Hook stellt sicher, dass für jeden Worktree die erforderliche Umgebungskonfiguration vorhanden ist und Abhängigkeiten automatisch installiert werden.

Bereinigung

Devin Desktop bereinigt beim Erstellen eines neuen Worktree automatisch ältere Worktrees, um eine übermäßige Nutzung des Speicherplatzes zu verhindern. Jeder Workspace kann bis zu 20 Worktrees haben. Worktrees werden danach bereinigt, wann zuletzt auf sie zugegriffen wurde – die ältesten werden zuerst entfernt. Diese Bereinigung erfolgt pro Workspace, sodass Worktrees aus verschiedenen Repositorys voneinander unabhängig bleiben. Wenn du außerdem manuell eine Cascade-Unterhaltung löschst, löscht Devin Desktop automatisch den zugehörigen Worktree.

Source-Control-Panel

Standardmäßig zeigt Devin Desktop im SCM-Panel keine von Cascade erstellten Worktrees an. Sie können git.showWindsurfWorktrees in Ihren Settings auf true setzen, um dies zu ändern und die Worktrees im SCM-Panel sichtbar zu machen.