基本 worktree 用法
开始使用 worktree 最简单的方式,是在 Cascade 输入框右下角切换到“Worktree”模式。
目前,你只能在 Cascade 会话开始时切换到 worktree。一旦开始对话,就无法再切换到其他 worktree。

位置
worktree 会按代码仓库名称组织在~/.windsurf/worktrees/<repo_name> 下。
每个 worktree 都会分配一个唯一的随机名称。
要查看活动 worktree 列表,你可以在代码仓库目录中运行 git worktree list。
设置钩子
每个 worktree 都包含你的代码仓库文件副本,但不包含.env 文件或其他未纳入版本控制的软件包。
如果你希望每个 worktree 都包含额外的文件或软件包,可以使用 post_setup_worktree 钩子 将它们复制到 worktree 目录中。
post_setup_worktree 钩子会在每个 worktree 创建并配置完成后运行。它会在新的 worktree 目录中执行。
$ROOT_WORKSPACE_PATH 环境变量指向原始工作区路径,可用于访问文件,或基于原始代码仓库运行命令。
示例
在创建新的 worktree 时,复制环境文件并安装依赖。 配置 (位于.windsurf/hooks.json) :
hooks/setup_worktree.sh):
清理
Devin Desktop 在创建新的 worktree 时,会自动清理较旧的 worktree,以避免磁盘占用过高。每个工作区最多可有 20 个 worktree。 系统会根据 worktree 的最后访问时间进行清理——最旧的会先被移除。清理是按工作区分别进行的,以确保不同代码仓库中的 worktree 彼此独立。 此外,如果你手动删除某个 Cascade 对话,Devin Desktop 也会自动删除关联的 worktree。源代码管理面板
默认情况下,Devin Desktop 不会在 SCM 面板中显示由 Cascade 创建的 worktrees。 你可以在设置中将git.showDevinWorktrees 设为 true,以覆盖这一默认行为,并在 SCM 面板中显示这些 worktrees。
较旧的
git.showWindsurfWorktrees 设置已弃用。在未设置 git.showDevinWorktrees 时,现有配置中的该设置仍然有效,但今后请使用 git.showDevinWorktrees。
