Full markdown reading view

大多数开发者用了 10 年 git,从没用过 worktree。

查看来源 /data/workspace/Agent-Skills/ythx-101/x-thread-exporter/@x_status_2032411474703053012.clean.md

大多数开发者用了 10 年 git,从没用过 worktree。

因为以前根本没必要——同时开 5 个分支?谁会这么干?

AI 编程代理出现之后,这一切变了。

───

现在我同时跑 5-10

警告: 由于未知故障或页面限制,结果可能不完整。
故障代码: XTE_MAX_RUNTIME_REACHED
来源: https://x.com/chenchengpro/status/2032411474703053012
抓取时间: 2026-03-13T18:25:48.468Z

正文

作者: @chenchengpro (陈成)
时间: Fri Mar 13 11:00:30 +0000 2026
链接: https://x.com/chenchengpro/status/2032411474703053012

大多数开发者用了 10 年 git,从没用过 worktree。

因为以前根本没必要——同时开 5 个分支?谁会这么干?

AI 编程代理出现之后,这一切变了。

───

现在我同时跑 5-10 个 Claude Code / Codex session,每个代理处理一个任务。但问题来了:每个代理都需要独立的工作目录,不能互相踩文件。

解法:git worktree + pnpm 全局虚拟存储。

一个 bare 仓库作为中心,每个代理一个 worktree:

git clone --bare https://t.co/LjNchNLUGW你的/仓库.git repo
cd repo
git worktree add ./main main
git worktree add ./feat-a feat/task-a ← Agent A
git worktree add ./fix-b fix/task-b ← Agent B

git 对象只有一份,分支却全部同时 checkout。

───

但 node_modules 怎么办?每个 worktree 都要装一遍,几百 MB 乘以 10 个代理?

pnpm 的 enableGlobalVirtualStore 解决了这个:

pnpm-workspace.yaml

enableGlobalVirtualStore: true

开启之后,每个 worktree 的 node_modules 里只有符号链接,指向磁盘上同一份内容寻址存储。

第一次 pnpm install 下载包,后面每个新 worktree 的安装几乎是瞬时的。

10 个代理,磁盘开销接近于 1 个。

───

pnpm 自己的仓库就是这套配置,还封装了辅助命令:

pnpm worktree:new feat/my-feature # 新建 worktree
pnpm worktree:new 10834 # 直接拉 PR,支持 fork

分支名的斜杠自动转成目录名,.claude 配置全局共享,省去重复设置。

───

AI 代理时代的并行开发工作流,不是多开几个终端那么简单。

每个代理需要真正的隔离:独立文件、独立分支、独立依赖树。

git worktree + pnpm virtualstore,是目前最轻量的答案。

───

如果觉得有用,可以直接去看 pnpm 11.x 的文档:https://t.co/gDAedQE8Pq

评论 (15)

评论 点赞 3

作者: @kernel1983 (Dr 0xKJ 🇨🇦 | Zentra)
时间: Fri Mar 13 15:38:47 +0000 2026
链接: https://x.com/kernel1983/status/2032481506484998401

@chenchengpro 心智负担高

直接把git目录复制5份即可解决,无需学习任何新知识

评论 点赞 2

作者: @quanyuqn27902 (gacha cheng)
时间: Fri Mar 13 14:22:38 +0000 2026
链接: https://x.com/quanyuqn27902/status/2032462343377191064

@chenchengpro +1 ,说起来惭愧。我也是被 AI 教会了怎么用 worktree、怎么用 rebase

甚至是在接触 vibe coding 前,都没听说过 worktree。。。

评论 点赞 3

作者: @fineandthx (荧光蛙(GlowFrog))
时间: Fri Mar 13 12:00:38 +0000 2026
链接: https://x.com/fineandthx/status/2032426606145511842

@chenchengpro worktree 真是被低估了 多开几个 agent 不隔离目录很快就互相踩文件
pnpm 这招也很实用 10 个分支装一次依赖就够了

评论 点赞 4

作者: @BinaryHB (段少🎵DaDalus)
时间: Fri Mar 13 16:48:23 +0000 2026
链接: https://x.com/BinaryHB/status/2032499021844291863

@chenchengpro 哈哈哈今天刚思考同样的事情开着:

评论 点赞 5

作者: @zangjiaao (zangjiaao)
时间: Fri Mar 13 12:03:48 +0000 2026
链接: https://x.com/zangjiaao/status/2032427403356848330

@chenchengpro 边界要确定好,要不一会冲突要处理

评论 点赞 6

作者: @0xYaCo (YaCo)
时间: Fri Mar 13 13:58:47 +0000 2026
链接: https://x.com/0xYaCo/status/2032456342469054910

@chenchengpro 有没有教程,我现在就遇到这个问题,不知道怎么解决

评论 点赞 7

作者: @aroma10928750 (Rain)
时间: Fri Mar 13 15:33:35 +0000 2026
链接: https://x.com/aroma10928750/status/2032480195899539858

@chenchengpro 子代理同时改pnpm,改的版本还不一样怎么办

评论 点赞 8

作者: @webstarchina (草莽码农)
时间: Fri Mar 13 16:11:33 +0000 2026
链接: https://x.com/webstarchina/status/2032489750956024137

@chenchengpro 我缺的是worktree吗?我缺的是token

评论 点赞 9

作者: @vol_taire_atile (鸭子哥)
时间: Fri Mar 13 15:08:17 +0000 2026
链接: https://x.com/vol_taire_atile/status/2032473829914644703

@chenchengpro pnpm是啥?submodule 可以softlink吧

评论 点赞 10

作者: @NoodleItalia (noodle crazy)
时间: Fri Mar 13 13:35:26 +0000 2026
链接: https://x.com/NoodleItalia/status/2032450462813925843

@chenchengpro 这是超级高效大佬

评论 点赞 11

作者: @codingzx (晓)
时间: Fri Mar 13 14:12:44 +0000 2026
链接: https://x.com/codingzx/status/2032459850446414187

@chenchengpro 学习了,有帮助

评论 点赞 12

作者: @chrislu1985 (One)
时间: Fri Mar 13 13:15:24 +0000 2026
链接: https://x.com/chrislu1985/status/2032445422405620102

@chenchengpro bun 有解吗

评论 点赞 13

作者: @solo_lever (杠哥)
时间: Fri Mar 13 15:08:00 +0000 2026
链接: https://x.com/solo_lever/status/2032473758636937689

@chenchengpro 这条很实用。并行开发先做隔离,再做统一验收,不然分支越多返工越多。你现在最痛的是依赖冲突还是合并冲突?

评论 点赞 14

作者: @jbentley (Jordan Bentley)
时间: Fri Mar 13 15:23:52 +0000 2026
链接: https://x.com/jbentley/status/2032477751580520698

@chenchengpro Have you tried using Nimbalyst to manage your worktrees? I primarily work in worktrees, with both Claude Code and Codex.

评论 点赞 15

作者: @yigekaifazhe (一个开发者)
时间: Fri Mar 13 12:15:52 +0000 2026
链接: https://x.com/yigekaifazhe/status/2032430440565588241

@chenchengpro 学习了大佬

Capture Diagnostics

{
  "mode": "thread",
  "started_at": "2026-03-13T18:25:41.671Z",
  "ended_at": "2026-03-13T18:25:48.465Z",
  "rounds_executed": 1,
  "expand_clicks": 0,
  "last_visible_expand_buttons": 0,
  "termination_reason": "max_runtime_reached",
  "incomplete": true,
  "likely_incomplete": true,
  "error_code": "XTE_MAX_RUNTIME_REACHED",
  "resumed_from_cache": false,
  "imported_tweets": 0,
  "imported_users": 0,
  "cache_path": null,
  "cache_age_ms": null,
  "cache_prior_likely_incomplete": false,
  "cache_expired": false,
  "newly_captured_tweets": 20,
  "last_expand_button_texts": [],
  "clicked_expand_button_texts": []
}