📌 项目地址: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,收益有限,不必为了工具而工具。

这篇文章对你有帮助吗?

发表回复