Gemini CLI Git Worktree 全流程:一次讲透给每个并行会话发独立代码副本

发布时间:2026/10/31 23:57:40

Gemini CLI Git Worktree 全流程:一次讲透给每个并行会话发独立代码副本 Gemini CLI Git Worktree 全流程一次讲透给每个并行会话发独立代码副本【免费下载链接】awesome-design-systems ⚒ A collection of awesome design systems项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-design-systems你手上有两个 Gemini 会话在并行干活一个修 bug另一个开发新功能。两个会话读写同一份工作区——A 会话刚改过的文件被 B 会话的模型误读未提交的改动互相污染上下文。Gemini CLI Git Worktree 就是为了解决这件事每个会话自动分到一份独立的代码副本各自的目录有独立文件和分支但共享同一份仓库历史互不干扰。官方把它定位为实验性功能且配置项标注需要重启experimental.worktrees修改后要重启 CLI 才生效。下面按开启 → 启动 → 干活 → 退出 → 恢复 → 清理的完整周期走一遍。worktree 隔离的原理是什么三句话讲清Git worktree 的原生能力是再开一个独立目录每个目录有自己的文件状态和分支所有 worktree 共享同一个.git对象库仓库历史。Gemini CLI 把原本要手敲的多条git worktree命令压缩成一个标志启动时自动建 worktree 目录、自动建worktree-名称分支、自动chdir切入新目录并记下此刻的基准提交base SHA供后续判断这个 worktree 是否产生过改动退出时保留现场清理留给你。对比一下就很直观手动 git worktreeGemini CLI建目录和分支手动git worktree add分支名自己定--worktree一条命令目录和分支按固定约定生成进入工作目录手动cd自动切入新目录基准与收尾自己记住 HEAD自己清理自动记录 base SHA退出时打印恢复和清理命令worktree 开关怎么设worktree 默认关闭要显式打开。交互式做法是在 CLI 里执行/settings搜Enable Git Worktrees设为true或者直接在settings.json里写上一处效果相同{ experimental: { worktrees: true } }这个开关属于 Experimental 分类默认值false且requiresRestart: true——改完必须重启 CLI。定义在 packages/cli/src/config/settingsSchema.ts 中showInDialog: true是它能在设置对话框里被搜到的原因。忘开就用--worktree启动期的参数校验会直接拦住你The --worktree flag is only available when experimental.worktrees is enabled in your settings.怎么一条命令拉起隔离会话开关打开后启动命令加上--worktree简写-wGemini 就会在当前项目里建好 worktree 并在其中启动。传不传名字都行传了值同时作为 worktree 目录名和分支名的组成部分不传自动生成一个随机名字gemini --worktree feature-search # 命名启动目录、分支都用这个名字 gemini --worktree # 省略名称自动生成随机名时间戳 随机后缀记住两条固定约定后面清理全靠它目录落在项目根/.gemini/worktrees/名称分支名是worktree-名称。⚠️ 新副本是一套全新的代码进来后先按项目规范初始化开发环境——跑依赖安装npm install、yarn、配置虚拟环境或执行标准构建流程再开始干活。退出时它留了什么用/quit或CtrlC退出 worktree 会话时策略是优先快速与安全不删 worktree不删分支。所有未提交改动修改过的文件、已暂存的改动、未跟踪文件和你在新分支上的提交全部保留退出页打印两条可直接复制的后续命令路径和会话 ID 会按当前 shellWindows 下 PowerShell、其他平台 bash自动转义# 在这个 worktree 里恢复工作 cd .gemini/worktrees/feature-search gemini --resume session_id # 手动删除 git worktree remove .gemini/worktrees/feature-search这两行提示由 packages/cli/src/ui/components/SessionSummaryDisplay.tsx 渲染配置里存在 worktree 信息时退出页底部提示就被替换成恢复 手动删除这两句。如何续上之前的会话worktree 完整保留着回来续做就是进目录、用会话 ID 接着跑。session_id就是退出页--resume后面的参数与页面打印的完全一致cd .gemini/worktrees/feature-search gemini --resume session_id会话管理的更多细节见 docs/cli/session-management.md。收尾怎么删掉 worktree 和它的分支活儿干完、改动合并后自己清理。分支名遵循worktree-名称约定两条命令收掉git worktree remove .gemini/worktrees/feature-search --force git branch -D worktree-feature-search想完全自己控制也行手动git worktree add ../project-feature-search -b feature-search再cd进去启动 gemini目录和分支名都随你定。Gemini 不会干预这些手动放在别处的 worktree——内部isGeminiWorktree()用 realpath 比对只管理落在项目根/.gemini/worktrees/之下的目录另外所有 git 子进程都通过getSafeGitEnv()构造的安全环境变量执行避免宿主机 git 配置异常影响操作。 机制深潜三个可以展开的设计细节随机名字怎么来的setup()没收到名称时用 ISO 时间戳冒号、点号替换为连字符加 4 位随机后缀拼出来例如2026-09-04-06-58-31-000-a1b2同一秒连开多个也不会撞名。实现见 packages/core/src/services/worktreeService.ts 的setup()。防嵌套守卫worktree 创建成功后立即process.chdir()切入新目录并设置环境变量GEMINI_CLI_WORKTREE_HANDLED1CLI 因内存分配等原因重新拉起自身时入口先查这个标志直接跳过避免worktree 里再嵌套一层 worktree。见 packages/cli/src/utils/worktreeSetup.ts 的setupWorktree()。检测失败时保守视为脏hasWorktreeChanges()先跑git status --porcelain查未提交改动再比较 HEAD 是否偏离 base SHA任何一条 git 命令失败就宁可认为有改动、不执行清理——宁可不删也不误删用户的工作。配套的maybeCleanup()已具备无改动则自动git worktree remove --forcegit branch -D的能力当前由单元测试覆盖CLI 退出路径仍遵循文档所述不自动删除的策略属于这个实验性功能的演进方向。见packages/core/src/services/worktreeService.ts。速查五步命令与源码入口步骤做什么开启settings.json写入{experimental: {worktrees: true}}并重启 CLI或/settings里切换启动gemini --worktree 名称省略名称则随机生成会话里干活新副本先装依赖、跑构建再开工退出worktree 与分支完整保留退出页打印恢复和清理两条命令恢复cd .gemini/worktrees/名称 gemini --resume session_id清理git worktree remove 路径 --forcegit branch -D worktree-名称关键源码与文档入口内容路径官方 worktree 文档用法/退出/恢复docs/cli/git-worktrees.md命令行参数解析与校验packages/cli/src/config/config.ts核心服务单元测试packages/core/src/services/worktreeService.test.ts核心服务创建/改动检测/清理packages/core/src/services/worktreeService.ts启动期装配与防嵌套守卫packages/cli/src/utils/worktreeSetup.ts配置项定义packages/cli/src/config/settingsSchema.ts退出页提示渲染packages/cli/src/ui/components/SessionSummaryDisplay.tsx【免费下载链接】awesome-design-systems ⚒ A collection of awesome design systems项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-design-systems创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/30 12:18:27

C++控制台学生成绩管理系统:内存、编码与状态机实战

简介:本资源是一套完整的C课程设计项目——控制台版学生成绩管理系统,面向计算机专业本科生及C初学者,解决课程实践环节中数据结构应用、模块化编程与小型系统开发能力训练问题。系统实现五大核心功能:成绩录入与修改、单学生查询…

2026/10/28 20:09:11

淡水观赏鱼视觉数据集:分类+检测+分割三位一体训练集

简介:本资源是面向计算机视觉研究者与AI工程师的淡水鱼类多任务数据集,聚焦图像分类、目标检测与语义分割三大核心任务,适用于生物识别、水族馆智能管理、淡水生态监测等实际场景。数据包共980个文件,含977张高质量JPG淡水鱼实拍图…

2026/10/31 23:56:25

综合之自动售货机2.0

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 23:56:25

AHT10读取温湿度

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 23:56:25

ws2812动态滚动显示图片

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 23:56:25

MIPI协议介绍

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 23:51:24

网络资产查询工具的核心功能与实战应用

1. 网络资产查询工具的核心价值与应用场景在当今数字化时代,网络资产的管理和安全防护已成为企业和个人必须面对的重要课题。一个高效的综合查询工具能够帮助用户快速获取IP地址、企业信息和网络空间资产等关键数据,为网络安全评估、业务决策和技术排查提…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/31 22:14:20

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑