跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

实验性 Git worktrees

为并行会话建立独立代码目录,保留退出后的修改并正确恢复。

Git worktree 为会话提供独立工作目录和分支,共享同一仓库历史。该功能为 experimental,需先在 /settings 启用 Enable Git Worktrees,或配置:

{
  "experimental": {
    "worktrees": true
  }
}

创建会话

gemini --worktree feature-search

--worktree 简写 -w,不给名称时自动生成,如 worktree-a1b2c3d4。官方说明传入名称用作 .gemini/worktrees/ 内目录和分支;每个新目录还需按项目实际步骤准备开发环境,不能假定原目录依赖自动复制。

退出与继续

/quit 或 Ctrl+C 退出后,不自动删除 worktree 或分支。未提交的修改、暂存、未跟踪文件和新提交继续保留,退出时显示恢复与清理提示。

cd .gemini/worktrees/feature-search
gemini --resume <session_id>

恢复时进入正确 worktree,再用其会话 ID。根目录与 worktree 的工作文件不同,不能在根目录恢复聊天后就假设工具操作位置已经切换。

清理与来源差异

由用户在工作完成后手动清理。官方创建说明说分支名称等于参数,而删除示例又使用 worktree-feature-search,两者不一致。因此先以实际 Git worktree 列表、当前分支和退出提示确认名称,不能原样套用示例强制删除。

清理会移除工作目录,先保存需要的结果与未提交内容。只结束 Gemini 会话无需清理,也不改变原仓库其他工作目录。