如何玩转 Herdr Worktrees:侧边栏一键创建 Git worktree,多分支并行开发指南
【免费下载链接】herdrthe runtime your coding agents live on项目地址: https://gitcode.com/GitHub_Trending/her/herdr
Herdr是编码智能体(Coding Agents)的终端运行时,它不仅能托管 Claude Code、Codex 等 AI 编程工具,还内置了Git worktrees支持:在侧边栏右键任意 Git 项目,就能一键创建、打开、删除 worktree 检出,让多个分支在同一窗口中并行工作,彻底告别"反复 stash、反复切分支"的低效操作。
什么是 Git worktree,为什么值得用
简单说,worktree 让你把同一个仓库的不同分支同时检出的多个目录里,互不干扰。传统做法是"切分支前先 stash,改完再切回去";而 worktree 模式下,每个分支都有自己的独立工作目录,各自跑一个终端、一个 AI 智能体,真正并行。
Herdr 把 Git worktree 管理直接做进了侧边栏和 CLI,你不需要背任何 Git 命令,也能享受多分支并行的效率 🚀
侧边栏一键创建 worktree 的完整步骤
第 1 步:找到你的 Git 工作区
在 Herdr 侧边栏的 Space 面板中,找到你的 Git 项目工作区(workspace)。只要该工作区的目录是一个 Git 仓库,右键菜单就会出现 worktree 相关选项(见 src/client/shell/context_menu.rs)。
第 2 步:选择 "New worktree"
右键点击 Git 工作区行,选择New worktree,输入分支名:
- 如果该本地分支已存在,Herdr 直接检出它;
- 如果不存在,Herdr 自动新建该分支(默认基于
HEAD)。
完成后,新检出会自动作为一个新的 Herdr 工作区打开,并与源工作区分组显示在侧边栏中——父行是原始工作区,子行是各个 worktree。
第 3 步:多分支并行开工
分组后的 worktree 和普通工作区行为完全一致:可以聚焦、重命名、关闭,各自拥有独立的标签页(tab)和面板(pane)。你可以给每个 worktree 分派一个 AI 智能体,主分支继续开发、fix-bug分支让智能体修 bug、feature-x分支跑实验,互不打架。
常用侧边栏操作一览
| 操作 | 菜单项 | 作用 |
|---|---|---|
| 新建检出 | New worktree | 创建新分支 worktree 并作为工作区打开 |
| 打开已有检出 | Open worktree... | 列出该仓库所有 worktree,聚焦已打开的,或打开未打开的 |
| 删除检出 | Delete worktree checkout... | 对分组子项使用,执行git worktree remove |
最快配置方法:自定义 worktree 存放目录
默认情况下,Herdr 把 worktree 检出游放到~/.herdr/worktrees下,按<目录>/<仓库名>/<分支名-slug>组织。如果你想让检出和主仓库"做邻居",只需在配置文件中加一段(详见 docs/next/website/src/content/docs/configuration.mdx):
[worktrees] directory = "~/Projects/herdr-worktrees"这样所有检出都会集中出现在一个目录里,方便浏览和管理。
不想点鼠标?用 CLI 同样快
Herdr 的命令行与界面走同一套本地 socket API,所有 worktree 操作都有对应命令(完整参考见 docs/next/website/src/content/docs/cli-reference.mdx):
# 列出 worktree herdr worktree list --cwd ~/myproject # 新建:指定分支、基线、路径、标签 herdr worktree create --cwd ~/myproject --branch fix-bug --base main --label "Bug fix" # 打开已有检出 herdr worktree open --cwd ~/myproject --branch fix-bug # 删除检出(等价于 git worktree remove,绝不删除分支) herdr worktree remove --workspace <workspace_id>小提醒:删除检出只会执行git worktree remove,分支永远不会被删除;如果检出中有未提交的改动,Git 拒绝时加--force强制移除即可。
两个值得知道的安全细节
- 关闭 ≠ 删除:关闭父工作区行只是关闭整个 Herdr 分组,不会删除任何检出目录或分支;想真正删检出,必须走"删除 worktree checkout"流程。
- Git 安全检查:Git 默认拒绝删除有修改或未跟踪文件的检出,Herdr 会先请求安全删除,被拒绝时才再次询问你是否强制,不会替你静默丢代码;若仓库属于其他用户,可用
--trust-repository单独信任一次。
延伸阅读
- 官方概念文档:docs/next/website/src/content/docs/concepts.mdx
- 侧边栏行为说明:docs/next/website/src/content/docs/configuration.mdx
- worktree 分组 UI 逻辑:src/client/shell/worktrees.rs
- 右键菜单实现:src/client/shell/context_menu.rs
把分支冲突从"等待"变成"并行",Herdr 的 worktrees 功能值得每个多分支开发者尝试 👍
【免费下载链接】herdrthe runtime your coding agents live on项目地址: https://gitcode.com/GitHub_Trending/her/herdr
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考