Gemini CLI Git Worktree 实战:多会话并行不打架,从开启到清理全指南

发布时间:2026/10/30 16:07:51

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 CLI 会话里修 bug另一个会话同时在开发新功能两个会话读写的是同一份工作区A 改过的文件可能被 B 的模型误读未提交的改动还会互相污染上下文。Gemini CLI 引入的实验性功能 Git Worktree 解决的正是这个问题——每个会话各自获得一个独立 worktree 目录和分支共享同一份仓库历史改动完全隔离互不干扰。本文带你从开启、启动一路走到清理。Gemini CLI 如何开启 Git Worktrees五分钟跑通Worktrees 默认关闭需要显式启用。两种方式任选其一方式一CLI 内交互开启。在 CLI 中执行/settings搜索Enable Git Worktrees设为true。方式二直接编辑settings.json。{ experimental: { worktrees: true } }改完设置后重启 CLI。该配置在 schema 中标注了Requires restart: yes不重启不生效。开启后启动隔离会话只需加一个--worktree标志简写-wgemini --worktree feature-search你传入的名称同时会成为目录名和分支名的一部分。省略名称也可以会自动生成随机名gemini --worktree命令跑完你就已经在新的 worktree 里了可以直接开工。机制拆解worktree 落在哪、防住了什么创建规则在 packages/core/src/services/worktreeService.ts 中可以直接确认目录固定项目根/.gemini/worktrees/名称不用操心建到哪去了分支名固定worktree-名称。例如--worktree feature-search会创建worktree-feature-search分支后面清理时删的就是它创建前记基准先执行git rev-parse HEAD把当前提交存为baseSha生命周期章节会用到它。未传名称时服务用 ISO 时间戳加 4 位随机后缀生成名字保证连续启动两次不会重名。CLI 入口 packages/cli/src/utils/worktreeSetup.ts 里还有一个容易忽略的设计——防重入if (process.env[GEMINI_CLI_WORKTREE_HANDLED] 1) { return undefined; }worktree 创建成功后会立即chdir进入新目录并设置环境变量GEMINI_CLI_WORKTREE_HANDLED1。当 CLI 因内存分配等原因重新拉起自身进程时这个守卫会直接跳过创建避免在 worktree 里再嵌套一层 worktree。还有一道参数校验传了--worktree但没启用experimental.worktrees时启动直接失败The --worktree flag is only available when experimental.worktrees is enabled in your settings.这个配置项定义在 packages/cli/src/config/settingsSchema.tsExperimental分类、默认false、requiresRestart: true、showInDialog: true——最后一点就是它能在/settings对话框里被搜到的原因。会话生命周期退出后你的代码去哪了退出时什么都不清。/quit或CtrlC之后worktree 原样保留改过的文件、已暂存改动、未跟踪文件、新分支上的提交全部还在worktree 与分支都由你处置。退出界面由 packages/cli/src/ui/components/SessionSummaryDisplay.tsx 渲染会打印两条可直接复制的命令路径已按当前 shell 做转义To resume work in this worktree: cd .gemini/worktrees/feature-search gemini --resume session_id To remove manually: git worktree remove .gemini/worktrees/feature-searchworktree 会话恢复步骤就是第一条命令拆成两行cd .gemini/worktrees/feature-search gemini --resume session_idsession_id用退出页打印的那个值即可更多细节见 docs/cli/session-management.md。清理则留给你确定不再回来时执行git worktree remove .gemini/worktrees/feature-search --force git branch -D worktree-feature-search分支名来自前面提到的worktree-名称约定。另有一处值得留意核心层已实现改动检测git status --porcelain加上 HEAD 与baseSha比对任何 git 命令失败都保守视为有改动和无改动才自动清理的条件逻辑并有 packages/core/src/services/worktreeService.test.ts 覆盖当前 CLI 退出路径仍遵循不自动删除策略这套能力属于该实验功能的演进方向。进阶与避坑手动建 worktree绕开三个坑不想要.gemini/worktrees/这个位置或固定分支名可以完全手动git worktree add ../project-feature-search -b feature-search cd ../project-feature-search gemini这样是安全的。packages/core/src/services/worktreeService.ts 里的isGeminiWorktree()通过realpath比对判断目录是否位于项目根/.gemini/worktrees/之下只有 Gemini 自己托管的目录才走自动管理逻辑你放在别处的 worktree 不会被干预。三个容易踩的坑坑一改设置必须重启。experimental.worktrees改完忘了重启--worktree会报前面机制章节里的那条校验错误。坑二每个新 worktree 都是全新代码副本。node_modules、虚拟环境、构建产物一概不在要按项目规范重新跑依赖安装npm install、yarn和标准构建流程。坑三别删错分支。Gemini 托管的 worktree 分支统一带worktree-前缀git branch -D只能删对应的worktree-名称手动创建的 worktree 要删你实际用的分支名。资源索引内容路径Git Worktree 官方文档docs/cli/git-worktrees.mdWorktree 核心服务创建 / 改动检测 / 清理packages/core/src/services/worktreeService.ts核心服务单元测试packages/core/src/services/worktreeService.test.tsCLI 启动期 worktree 装配packages/cli/src/utils/worktreeSetup.ts配置项定义packages/cli/src/config/settingsSchema.ts命令行参数解析与校验packages/cli/src/config/config.ts退出提示恢复 / 清理命令packages/cli/src/ui/components/SessionSummaryDisplay.tsx设置参考docs/cli/settings.md会话管理docs/cli/session-management.md【免费下载链接】awesome-design-systems ⚒ A collection of awesome design systems项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-design-systems创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/26 10:45:50

如何快速完成TDengine安装部署:新手完整指南

如何快速完成TDengine安装部署:新手完整指南 【免费下载链接】TDengine High-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios 项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine TDengine 是一款面向…

2026/10/30 16:04:49

Spring Boot MySQL游戏商城:模块拆解、事务与部署避坑

简介:这是一份基于Spring Boot与MySQL的游戏周边交易商城系统完整项目源码,面向Java学习者及有毕业设计、课程设计需求的学生。系统覆盖用户注册登录、商品发布管理、购物车操作、订单生成与支付流转、管理员权限控制等核心电商模块,功能链路…

2026/10/30 16:04:49

weixin294:高校网络安全通识课轻量级教学系统

简介:本资源是一套完整的微信小程序网络安全科普系统毕业设计案例,面向计算机科学与技术、人工智能等专业的本科生及毕设指导教师,聚焦于网络安全知识普及场景的前后端一体化实现。系统采用SpringBoot构建后端服务,微信小程序实现…

2026/10/30 16:04:49

Spring Boot学生读书笔记共享系统:源码解析与课设避坑指南

简介:本资源为基于SpringBoot的学生读书笔记共享系统完整课设项目,面向计算机相关专业学生与Java初学者,可用于课程设计、毕业设计参考或SpringBoot入门实战。项目采用Java语言开发,后端基于SpringBoot框架,数据库使用…

2026/10/30 16:04:49

Linux离线包安装与依赖排查:从校验、库隔离到回滚

简介:面向 Oracle 11g 数据库运维与 DBA 岗位的季度补丁包,对应 11.2.0.4.161018 版本(2016 年 10 月发布),适用于 64 位 Linux 环境。压缩包约 100.6MB,为 zip 格式,其中包含补丁搜索信息与补丁…

2026/10/30 16:04:49

Delphi 12 FMX TListView 跨平台渲染原理与实战避坑指南

简介:本资源是面向Delphi中高级开发者的一套FMX跨平台UI实战源码包,聚焦Delphi 12环境下FireMonkey框架中ListView组件的深度应用与定制开发。它系统展示了数据绑定、分组展示、自定义项模板(含TImage/TLabel等控件嵌套)、交互事件…

2026/10/30 15:59:47

基于Python与Django构建自动化Web漏洞扫描系统的实战路径

简介:自动化Web应用漏洞扫描与安全检测的完整项目资源,基于Python与Django框架开发,面向网络安全测试人员、Web开发者和信息安全学习者。系统内置爬虫引擎,可遍历Web应用页面与链接模拟攻击行为,支持静态页面与动态交互…

2026/10/29 17:05:52

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

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

2026/10/29 17:06:02

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

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

2026/10/29 17:06:13

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

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

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

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

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

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