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