Skip to content
FunCoding

Search

Search docs, Skills and MCP

实验性 Git worktrees

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

This page has not been translated into English yet. The original Chinese version is shown below.

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 会话无需清理,也不改变原仓库其他工作目录。