AI时代,90%程序员不知道的git神器:worktree让我同时干3个项目

内容分享1周前发布
0 10 0

作者:h3glove


上周和研发的朋友吃饭,他说了句话让我愣住了:

“我们部门90%的人还在用老办法切分支。”

我当时没说话,由于心里在想:我们团队目前都用worktree,同样的活儿硬是比他们快了一倍。

为啥差距这么大?我琢磨了半天,发现git worktree这个功能,在AI时代简直是救命稻草。

AI时代,90%程序员不知道的git神器:worktree让我同时干3个项目

传统开发方式的巨大浪费

先说说我们以前是怎么干的:

第一种方式:频繁切换分支


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+的浪费

•代码提交后还需要手动同步其他克隆

•管理混乱,常常搞错哪个是最新的

AI时代,90%程序员不知道的git神器:worktree让我同时干3个项目

我见过有同事同时维护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%

AI时代,90%程序员不知道的git神器:worktree让我同时干3个项目

上个项目,我同时开了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#

© 版权声明

相关文章

10 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    雨伞不淋雨Co 投稿者

    worktree 的好处是:1、同一组worktree共享.git目录,可以节省磁盘空间。尤其是当项目组里有那种“总喜欢把二进制文件提交到仓库的人”,效果更明显。2、不用频繁切换分支。3、不同分支的工作目录可以同时并存,方便并行构建等场景。其他方面就和正常操作没什么区别了。

    无记录
  • 头像
    为什么我吃德芙没看到丝带 读者

    乱的问题主要还是在解决冲突上吧,这顶多能解决自己机器上那点空间占用,该晕还得晕

    无记录
  • 头像
    荨筝的小太阳 读者

    自己都说了是目录复制

    无记录
  • 头像
    围璐救鹿_VL 读者

    这不是更忙了吗,AI不是白来了?

    无记录
  • 头像
    一块大腰子 读者

    等着ai也是等着

    无记录
  • 头像
    数学 读者

    还是没看出来 worktree 跟 checkout 有什么区别

    无记录
  • 头像
    看我领取闲鱼副业挣钱项目 读者

    workertree看起来省空间是一定的,但是这几个目录跟克隆的几个目录不是一样,该晕还是晕吧

    无记录
  • 头像
    佳明娱乐 读者

    解决不了晕的问题

    无记录
  • 头像
    报告老师我要玩萧与逸之恋 投稿者

    合并成灾难了?

    无记录
  • 头像
    封存 读者

    收藏了,感谢分享

    无记录