📌 项目地址:max-sixty/worktrunk | ⭐ 7,136 颗星 | 🔧 Rust | 📜 未标注
项目地址:max-sixty/worktrunk | 7,136 stars | Rust | MIT 协议 | 文档:worktrunk.dev
先说清楚解决什么问题
Claude Code、Codex 这类 agent 能独立跑长任务,一个人同时管 5-10 个不奇怪。git worktree 本来就是干这个的,每个 agent 一个独立工作目录,互不覆盖。
问题在 UX。README 里举了个例子,建一个 worktree,同一个分支名要打三次:
git worktree add -b feat ../repo.feat
cd ../repo.feat
干完活清理又是三步:回主目录、git worktree remove、git branch -d。一次任务六步琐碎操作,乘以十个并行 worktree,就是纯开销。
核心设计:分支名就是地址
Worktrunk 的做法一句话说完:用分支名寻址 worktree,路径由可配置模板自动算出来。接受分支名的命令,也接受 worktree 的实际路径,两种写法都行。
命令叫 wt,短。对比:
| 任务 | Worktrunk | 原生 git |
|---|---|---|
| 切换 worktree | wt switch feat |
cd ../repo.feat |
| 创建并启动 Claude | wt switch -c -x claude feat |
git worktree add -b feat ../repo.feat && cd ../repo.feat && claude |
| 清理 | wt remove |
回主目录 + git worktree remove + git branch -d |
| 带状态列表 | wt list |
git worktree list(只有路径) |
wt switch -c -x claude feat 这条命令值得单独看:建分支、建 worktree、切进去、启动 Claude,一次完成。整个交互就是按“给 agent 派活”设计的,每个新任务一条命令,开一个隔离环境。
三个命令之外
README 把功能分成两层:核心三命令(switch、remove、list)之外,还有一批按需取用的功能:
构建缓存共享。这是我觉得最有价值的一条。十个 worktree 最痛的不是 git 操作,是每个里面 target/、node_modules/ 都要重新构建。Worktrunk 支持共享这些被 ignore 的目录,不用重复编译。对 Rust 和 Node 项目,省下的构建时间可能比省下的打字时间多一个数量级。
Hooks。create、pre-merge、post-merge 等时机自动执行命令,本地流程可以固化。
合并工作流。squash、rebase、merge、清理收尾合成一条命令,不用来回切目录。
其他:从 diff 生成 commit message 的 LLM 集成;带 diff 和 log 实时预览的交互式选择器。配置细节 README 没展开,都在文档站上。
项目状态
2026 年初发布,作者称它已经是用户最多的 git worktree 管理器。7,136 stars,发布不到一年,这个说法有一定分量。作者是 max-sixty(tend 的作者),README 里明确写了在密集收集反馈,任何摩擦点都欢迎提 issue,项目处于快速迭代期,功能可能变,但有人修问题。
值不值得用
我的判断:如果你已经在用裸 git worktree 管理并行任务(尤其是并行跑 agent),学习成本就三个命令,花半天试一下就知道值不值。构建缓存共享这条,Rust 项目用户应该会最先感受到收益。如果只是偶尔开一个 worktree,收益有限,不必为了工具而工具。