一、这是什么
Worktrunk 是一个 Git worktree 管理命令行工具,作者是 max-sixty。它解决的是一个很具体的麻烦:Git 原生自带 worktree 功能,可以给每个任务一个独立的工作目录,让多个任务、多个 AI 编程助手并行干活时互不踩脚;但原生用法很啰嗦,哪怕只是开一个新 worktree,也要把分支名敲三遍,还要自己切目录。
Worktrunk 把 worktree 用分支名来寻址,路径按模板自动算好,只用三条核心命令就把 worktree 变得像分支一样好用:wt switch 切换、wt list 查看、wt remove 清理。除此之外,它还带有一批提效功能:创建后自动跑钩子、生成提交信息、一键合并流程、交互式选择器、共享构建缓存,以及直接切到某个 PR 的分支。
它在 2026 年 11 月 4 日登上 GitHub 当日热门榜单,核实时已有约 1 万个 star,许可证为 MIT 或 Apache-2.0。README 提到,它在 2026 年初发布后迅速成为最受欢迎的 Git worktree 管理工具,主打的就是“让并行开发像切换分支一样简单”。
它适合这些人:同时在几个功能分支之间来回切的开发者;想让多个 AI 编程助手(比如 Claude Code、Codex)各自在独立目录里并行干活的人;以及受够了 git worktree add 啰嗦写法、想把并行工作流理顺的人。
二、开始前先确认
- 系统要求:需要先装好 Git,并且手头有一个现成的 Git 仓库——Worktrunk 是在仓库里管理 worktree 的工具,不是凭空建仓库的工具。支持 macOS、Linux 和 Windows。
- 命令名:装好后主命令是
wt。Windows 上有个例外:wt默认是 Windows Terminal 的命令,所以 Winget 会把 Worktrunk 额外装成git-wt,Windows 用户按下面步骤里的 Winget 写法用git-wt即可;也可以按 README 的办法关掉 Windows Terminal 的别名后再用wt。 - Shell 集成很重要:安装命令后面都跟了一句
wt config shell install,它是让wt switch真正帮你切换目录的关键,装完不要漏掉这一步。 - 先在练习仓库里试:第一次用建议先拿一个不重要的本地仓库练手,熟悉
switch、list、remove的手感后再用到正经项目上。 - 它不替你解决冲突:Worktrunk 管的是工作区的创建、切换和清理,代码合并时的冲突还是要你自己处理;合并前先确认每个 worktree 里的工作都已提交。
三、操作步骤
步骤 1:安装 Worktrunk 并装好 Shell 集成
按你的系统选一条安装命令,安装命令和后面的 Shell 集成命令要连着执行:
macOS 或 Linux(Homebrew):
brew install worktrunk && wt config shell install
Rust 用户(Cargo):
cargo install worktrunk && wt config shell install
Windows(Winget,注意命令名是 git-wt):
winget install max-sixty.worktrunk
git-wt config shell install
Arch Linux:
sudo pacman -S worktrunk && wt config shell install
装完后做一次自检:在终端运行 wt --help(Windows 上是 git-wt --help),能正常打印出帮助信息,就说明命令行工具已经装好。README 还提醒:每个子命令也可以单独看帮助,例如 wt <command> --help。

图 1:安装 Worktrunk 并配置 Shell 集成的示意。图片为 AI 生成的操作示意图,实际界面以终端输出为准。
步骤 2:一条命令创建并切换到新工作区
先进入你的仓库主目录,然后用下面这条命令为新功能开一个工作区:
wt switch --create feature-auth
这条命令一次做完三件事:以当前分支(比如 main)为起点创建 feature-auth 分支、建好对应的 worktree、并直接切换过去。README 里的示例输出是这样的:创建成功后会提示新分支和新 worktree 的位置,例如 ~/repo.feature-auth。
切换过去之后,你就可以在这个独立目录里正常改代码、跑测试,完全不影响主目录里的工作。想回到主分支的工作区时,再用 wt switch main 切回去即可——Worktrunk 按分支名寻址,不用你自己记每个 worktree 的路径。
步骤 3:用 wt list 一眼看清所有并行任务
手头同时有几个工作区时,运行:
wt list
它会列出每个 worktree 的分支、状态、提交和改动情况。README 示例里,@ 标记的是当前所在的工作区,+ 表示有已暂存的改动,↑1 表示比 main 多 1 个提交。比起原生 git worktree list 只给路径,wt list 给出的状态信息要实用得多。

图 2:用 wt list 查看所有工作区状态的示意。图片为 AI 生成的操作示意图。
步骤 4(进阶):并行跑多个 AI 助手,各干各的活
这就是 Worktrunk 主打的场景:给每个任务一个独立工作区,再在每个工作区里启动一个助手。用 -c 创建、用 -x 指定切换后要运行的命令,-- 后面的内容会传给那个命令:
wt switch -x claude -c feature-a -- 'Add user authentication'
wt switch -x claude -c feature-b -- 'Fix the pagination bug'
wt switch -x claude -c feature-c -- 'Write tests for the API'
三条命令跑完,三个任务就分别在三个独立目录里并行推进,互不干扰。README 还提到,可以用 post-start 钩子把“装依赖、起开发服务器”这类准备工作自动化,每次创建工作区后自动跑一遍。
另外一个很实用的小功能:想直接去看某个 PR 的代码,不用先查分支名,wt switch pr:123 就能直接跳到该 PR 的分支(把 123 换成实际的 PR 编号)。
步骤 5:收尾——提交、合并、清理一条龙
任务做完后有两条收尾路线,按你的工作流选一条。
走 PR 流程:先提交,再开 PR,等 PR 合并后清理:
wt step commit
gh pr create
wt remove
其中 wt step commit 是提交已暂存的改动,gh pr create 是用 GitHub CLI 开 PR(GitLab 用户对应的是 glab mr create),PR 合并后用 wt remove 清掉当前工作区和分支。
走本地合并流程:一条命令完成提交、变基、合并、清理:
wt merge main
README 的示例里,这条命令会先生成提交信息并提交改动,再把提交合并到 main,最后在后台删掉 feature 分支和 worktree,并切回 main 的工作区。合并完成后,再用 wt list 确认一下,列表里应该已经没有那个已完成的工作区了。

图 3:合并完成并清理工作区的示意。图片为 AI 生成的操作示意图。
四、恢复办法
Worktrunk 只管理 worktree 和分支,不改你的代码内容,遇到问题基本都能马上回到干净状态:
wt switch后目录没变:多半是 Shell 集成没装好。重新运行wt config shell install(Windows 上是git-wt config shell install),然后按提示重启终端或重新加载 Shell 配置,再试一次。- Windows 上
wt命令不对:wt被 Windows Terminal 占了,改用git-wt;或者按 README 的办法,在系统设置里关掉 Windows Terminal 的 App 执行别名后再用wt。 - 想放弃某个工作区:先切到别的工作区,再对它运行
wt remove;如果里面还有没提交的改动,先确认是否真的不要了,以免丢代码。 - 合并时遇到冲突:回到对应 worktree 里像平时解决 Git 冲突一样处理,解决完提交后再继续合并流程。
- 想从头再来:把练习用的 worktree 一个个
wt remove掉,主仓库本身不受影响;已提交到分支上的内容也不会因为删 worktree 而消失。 - 不想用了:用当初的包管理器卸载即可,例如 Homebrew 用户运行
brew uninstall worktrunk;已经建好的 worktree 可以先用git worktree remove清理,或直接删掉对应目录前先确认里面没有未提交内容。
五、注意事项(必读)
- 别漏掉 Shell 集成:
wt config shell install是让切换目录生效的关键,只装本体不装集成,wt switch就切不了目录。 - 一个分支、一个工作区:同一个分支不能同时在两个 worktree 里检出;想并行,就给每个任务各建一个分支。
- 清理前先提交:
wt remove是清理动作,执行前确认该工作区的改动已经提交或确实不需要,否则可能丢失未提交内容。 - 先练手再上正经项目:钩子、合并流程、共享构建缓存这些进阶功能都很顺手,但第一次用建议先在练习仓库里走通
switch、list、remove再说。 - 它仍在快速迭代:命令和个别功能以后可能调整;遇到与本教程不一致的地方,以官方文档为准。
六、官方资源链接
- GitHub 项目:https://github.com/max-sixty/worktrunk
- 官方文档:https://worktrunk.dev
- 官方 README(含安装、快速上手与核心命令对照):https://github.com/max-sixty/worktrunk#readme
七、常见问题
Worktrunk 是免费的吗?
是。项目采用 MIT 或 Apache-2.0 许可证,开源免费。
它和 Git 原生的 worktree 有什么区别?
原生 worktree 功能本身没变,Worktrunk 是把它包了一层更好用的壳:按分支名寻址、路径自动算好,创建、切换、清理各只要一条命令,还附带状态列表、合并流程、钩子等提效功能。
没有 AI 助手也能用吗?
当然能。并行助手只是它最出彩的场景之一;普通开发者同时开几个功能分支、修几个 Bug,用它同样省事。
支持哪些系统和安装方式?
支持 macOS、Linux、Windows,可通过 Homebrew、Cargo、Winget、Arch 包管理器或 Conda / Pixi 安装,README 里都给了对应命令。
wt list 里的符号是什么意思?@ 是当前工作区,+ 表示有已暂存的改动,↑1 表示比 main 多 1 个提交;完整的状态含义可以在 wt list --help 里查看。
可以直接切到某个 PR 的分支吗?
可以,运行 wt switch pr:123(把 123 换成实际 PR 编号)即可直接跳到该 PR 的分支。
合并后工作区会自动清理吗?
走 wt merge main 的本地合并流程时,合并成功后会在后台删掉该分支和 worktree 并切回 main;走 PR 流程时,则是在 PR 合并后手动运行 wt remove 清理。
