站点品牌标识

北京先航科技有限公司 XNAVOR 北京先航科技有限公司 Beijing Xnavor Technology Company Limited
教程中心 / 开发工具 / Worktrunk 零基础使用教程:不用再手写三遍分支名,一条命令开一个并行工作区
Worktrunk 教程封面:并行工作区示意图

Worktrunk 零基础使用教程:不用再手写三遍分支名,一条命令开一个并行工作区

开发工具 入门 Beginner 实操教程 Worktrunk 🕒 2026-11-05 ⏱ 10 分钟
官方资源链接 以下链接均来自官方第一方来源,点击可直接打开

一、这是什么

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 集成的示意

图 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 查看所有工作区状态的示意

图 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:合并完成并清理工作区的示意

图 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 再说。
  • 它仍在快速迭代:命令和个别功能以后可能调整;遇到与本教程不一致的地方,以官方文档为准。

六、官方资源链接

七、常见问题

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 清理。