作者:h3glove
上周和研发的朋友吃饭,他说了句话让我愣住了:
“我们部门90%的人还在用老办法切分支。”
我当时没说话,由于心里在想:我们团队目前都用worktree,同样的活儿硬是比他们快了一倍。
为啥差距这么大?我琢磨了半天,发现git worktree这个功能,在AI时代简直是救命稻草。

传统开发方式的巨大浪费
先说说我们以前是怎么干的:
第一种方式:频繁切换分支
git checkout feature-user-management # 开发新功能
# 突然线上bug来了
git stash # 暂存当前工作
git checkout hotfix-login-fix # 切换到紧急修复
# 修完bug再切回来
git checkout feature-user-management
git stash pop # 恢复之前的工作
这种方式我用了3年,每次切换都要:
• 保存当前工作状态
• 等待分支切换完成
• 重新进入工作状态
• 冒着代码冲突的风险
一次切换至少浪费10分钟,一天切换5次就是50分钟。
第二种方式:多个克隆
# 为每个分支都克隆一份
git clone git@github.com:user/project.git project-feature
git clone git@github.com:user/project.git project-hotfix
git clone git@github.com:user/project.git project-test
这种方式的问题更严重:
•每个克隆都占用1GB+磁盘空间
•3个克隆就是3GB+的浪费
•代码提交后还需要手动同步其他克隆
•管理混乱,常常搞错哪个是最新的

我见过有同事同时维护5个克隆,占用10GB+空间,最后把自己都搞晕了。
AI时代的新机遇:并行开发时间窗口
AI时代彻底改变了我们写代码的方式:
新节奏变了
•AI写代码时:我们就干等着(5到10分钟跑不了)
•等待时间:以前浪费了,目前能利用
•同时干活:真可以一心三用
实际工作场景
想象一下这样的日常:
上午9点:
•让AI在feature分支开发用户管理模块(预计需要2小时)
•同时在hotfix分支紧急修复登录问题(30分钟搞定)
•再在test分支测试昨天完成的功能(15分钟测试完毕)
上午10点:
•AI的用户管理代码生成完毕
•hotfix已经修复并测试完成
•test分支的问题也解决并合并了
结果:2小时完成了原本需要半天的工作量
这就是git worktree带来的革命性变化!
git worktree:被忽视的效率神器
啥是worktree?
说白了,就是一个git仓库,好几个文件夹。每个文件夹是一个分支,能同时干活。
核心好处
•省空间:所有worktree共用.git,省90%空间
•不干扰:每个分支各干各的,谁也不影响谁
•真并行:能同时在好几个分支提交代码
•管理简单:一个仓库管着,但各自干活
基本使用方式
# 创建主开发分支的工作树
git worktree add ../project-feature feature-branch
# 创建hotfix分支的工作树
git worktree add ../project-hotfix hotfix-branch
# 在不同目录中同时工作
# ../project-feature/ 开发新功能
# ../project-hotfix/ 修复紧急bug
# 查看所有工作树
git worktree list
真实项目案例:我的效率提升300%

上个项目,我同时开了3个worktree:
项目背景
•项目类型:企业管理系统
•开发周期:原本计划2周
•团队规模:我主要负责核心功能开发
具体实施
# 主项目目录(main分支)
cd /path/to/project-main
# 创建三个工作树
git worktree add ../project-opportunity 机会管理分支
git worktree add ../project-process 事中管理分支
git worktree add ../project-aftermath 事后管理分支
并行开发策略
上午9:00-11:00:
•在机会管理分支:让AI开发客户录入功能
•在事中管理分支:手动优化项目监控逻辑
•在事后管理分支:测试数据分析模块
下午2:00-5:00:
•机会管理分支:AI生成代码完毕,开始调试
•事中管理分支:监控逻辑开发完成,开始测试
•事后管理分支:发现bug,立即修复
结果数据
•原计划时间:10个工作日
•实际用时:5个工作日
•效率提升:100%
•代码质量:没有由于并行而降低
•存储节省:相比多个克隆节省6GB空间
为什么90%的程序员不知道这个功能?
我分析了几个缘由:
1. 学习曲线认知
许多程序员觉得git已经够复杂了,不想学习新功能。
真相是:worktree的命令比许多git命令还简单。
2. 传统思维定式
习惯了”一个仓库一个工作目录”的思维,没有想过可以突破。
真相是:这个限制完全可以打破,而且打破后效率大增。
3. 缺乏实际场景
在没有AI的时代,的确 很难真正并行开发。
真相是:AI时代创造了完美的使用场景。
4. 文档宣传不足
git官方文档对这个功能的介绍比较技术化。
真相是:实际使用比看起来简单得多。
立即行动:3步开始使用worktree
如果你想提升开发效率,我提议立即开始:
第一步:体验基础功能
# 创建一个简单的测试分支
git worktree add ../test-worktree feature-test
# 在两个目录中同时工作,感受差异
第二步:应用到实际项目
选择一个有多个任务的项目,为每个任务创建独立的worktree。
第三步:优化工作流程
结合AI编码工具,设计你自己的并行开发工作流。
写在最后的真实感受
用worktree这几个月,我心里就一个想法:
不是我不够拼,是工具没选对。
以前老觉得加班是活儿太多,目前才清楚许多时候是方法不对。AI让咱们能同时干几件事,worktree给咱们提供了同时干活的场地。
这一套组合拳打下来,效率提升是实实在在的。
希望这个90%程序员都不知道的功能,也能帮到你。
你在工作中遇到过分支管理的痛点吗?评论区聊聊~
#产品经理##AI大模型##vib coding#
worktree 的好处是:1、同一组worktree共享.git目录,可以节省磁盘空间。尤其是当项目组里有那种“总喜欢把二进制文件提交到仓库的人”,效果更明显。2、不用频繁切换分支。3、不同分支的工作目录可以同时并存,方便并行构建等场景。其他方面就和正常操作没什么区别了。
乱的问题主要还是在解决冲突上吧,这顶多能解决自己机器上那点空间占用,该晕还得晕
自己都说了是目录复制
这不是更忙了吗,AI不是白来了?
等着ai也是等着
还是没看出来 worktree 跟 checkout 有什么区别
workertree看起来省空间是一定的,但是这几个目录跟克隆的几个目录不是一样,该晕还是晕吧
解决不了晕的问题
合并成灾难了?
收藏了,感谢分享