首页/文章/一台新加坡 Mac mini 上并行多个 Claude Code:用 git worktree 隔离,互不踩文件

一台新加坡 Mac mini 上并行多个 Claude Code:用 git worktree 隔离,互不踩文件

· SgRent

并行一开,最先崩的是「同一份工作目录」

一个人同时让 Claude Code 改登录页、修接口、补测试,很常见。麻烦也立刻出现:两个会话都在同一个 checkout 里写文件,A 改完的内容被 B 覆盖,stash 来不及,分支也乱。

表面上是「多开几个终端」,根因是多个 Agent 共享了同一份工作树。解决办法也很直接:每个会话独占一个目录、一条分支,改完再用 diff 决定合不合。Claude Code 本身就支持 claude --worktree,不必先装第三方编排工具。

下面按步骤在一台常开的新加坡 Mac mini 上配好。

Claude 账号由你自己开通并登录,请遵守 Anthropic 的服务条款与支持地区规则。本文只谈如何搭一个稳定合规的使用环境,不涉及共享或转卖账号。SgRent 与 Anthropic 没有官方合作关系。并行会加速消耗同一账号的用量额度,开多少会话要先看 Usage,再按任务拆。

准备清单

  • 一台常开的 Mac mini(整机租用或自有设备托管),已装好 Claude Code,并用你自己的账号登录
  • 仓库是 git 项目,本地能正常 git status / git fetch
  • 已安装 tmux(brew install tmux),方便每个会话挂在独立窗口里
  • 对这个仓库有清晰的任务切分:例如「登录 UI」「支付 API」「测试补全」三条互不依赖的线

步骤一:先确认「不要共用一个 checkout」

在仓库根目录执行 pwd 和 git rev-parse --show-toplevel,确认你现在站在主工作树。关掉所有已经开着的、指向这个目录的 Claude Code 会话,避免一边配 worktree、一边还有 Agent 在写主目录。

原则只有一句:一个 Claude Code 会话对应一个目录。 主目录留给你自己做合并和验收;Agent 只在各自的 worktree 里干活。

步骤二:用 Claude Code 自带的 worktree 开并行会话

官方 CLI 可以直接按名字建工作树。在 Mac mini 上开两个终端(或两个 tmux 窗格),分别执行:

  1. claude --worktree login-ui —— 为「登录页」任务建独立工作树和新分支,再进入 Claude Code。
  2. claude --worktree pay-api —— 为「支付接口」再建一个。

Claude Code 会把工作树放到项目下的 .claude/worktrees/<名称>/(具体路径以你本机版本提示为准),并检出对应分支。每个会话只改自己那棵树里的文件,不会直接踩主工作树。

若某次需要手动建树(例如要固定相对路径),也可以:

  1. git worktree add -b feat/login-ui ../app-login-ui
  2. cd ../app-login-ui && claude
  3. 任务结束后:git worktree remove ../app-login-ui(先确认分支已推送或已合并)

两种方式选一种坚持用即可,不要混着命名,免得之后分不清哪个目录对应哪条线。

步骤三:用 tmux 给每个会话起固定名字

并行时最怕「到底哪个窗口在改登录」。在 Mac mini 上:

  1. tmux new -s cc-login,进入 login 的 worktree 目录,再启动对应的 claude(或带 --worktree 的命令)。
  2. tmux new -s cc-pay,同理进支付那条线。
  3. 列表用 tmux ls;接回用 tmux attach -t cc-login。

离开时 Ctrl-b d 脱离,会话继续在常开的机器上跑。你合上笔记本出门,Mac mini 上的几条线还在各自的 worktree 里推进。

步骤四:合并前先 diff,只让一条线负责 push

并行的收益来自隔离;合回主线时要变谨慎:

  1. 在主工作树执行 git fetch,再分别 git log / git diff main...feat/login-ui 看改动范围。
  2. 约定:同一时刻只有你(或一条明确指定的会话)可以向远端 push。其他会话只在本地分支提交,避免两个人/两个 Agent 同时推同一分支。
  3. 先合冲突少的那条,再合另一条;冲突留给人看,不要让两个 Agent 同时「自动解决」同一文件。
  4. 验收通过后,再 git worktree remove 清掉目录,分支按团队习惯保留或删除。

可以在每个 worktree 的进度文件(例如 PROGRESS.md)里写清「目标 / 已完成 / 下一步」,方便你从另一台设备 SSH 回来时快速对账。

步骤五:并行前先看额度,避免「窗口开满、周限额先见底」

多会话并不是免费加速:它们通常共用同一 Claude 账号的用量。开并行之前:

  1. 打开账号的 Usage,看清当前周期还剩多少。
  2. 先开真正独立的两条线;第三条等前两条告一段落再上。
  3. 短问短答尽量放在主会话,长重构、大迁移再进独立 worktree,减少无效并行。

机器侧也要留余量:Mac mini 同时跑几个 Claude Code、编译和测试,内存和磁盘都会上去。整机独享的好处是,你不用和别人抢同一台物理机的 CPU 与磁盘,可以把并行策略按自己的节奏调。

为什么要放在一台常开的新加坡整机上

worktree 和 tmux 会话都绑在文件系统上。笔记本合盖、公司办公机关机,并行会话会一起断;换机器还要把多棵工作树再同步一遍。放在一台常开的新加坡 Mac mini 上:

  • 几条 Claude Code 会话可以过夜继续跑
  • SSH 或 UU 远程连接从任何地方接回同一个现场
  • 网络与时区稳定,排查「哪条线卡在哪」只盯一台机器

SgRent 提供的就是这样的环境:新加坡家庭宽带原生 IP 上的实体 Mac mini M6,整机独享(一人一台物理机),支持 SSH 和 UU 远程连接,FileVault 全盘加密,退租时抹机重装。新客户整机租用月付 ¥699 起,季付、半年付、年付有折扣;已有 Mac 的也可以托管,¥299/月起。实际延迟取决于你本地的网络线路,建议先用一个月把「双 worktree 并行」跑通,再决定要不要加第三条线。

小结

  • 并行的硬规则:一个 Claude Code 会话一个目录,不要共用主 checkout
  • 优先用 claude --worktree 名称;需要固定路径时再用 git worktree add
  • tmux 会话名与任务名对齐,方便远程接回
  • 合并前人工 diff,同一时刻只允许一条线 push
  • 开并行前先看 Usage;机器用常开的新加坡整机托管会话

有问题可以在 Telegram 联系 @singatao,或直接看 价格与付款周期。

需要一台新加坡的独享远程 Mac? SgRent 提供新加坡家庭宽带原生 IP 的 Mac mini M6,整机独享,UU 远程连接。整机租用 ¥699/月,自有设备托管 ¥299/月;季付 9 折,半年付 6 送 1,年付 12 送 2。
前往 panel.zumac.ai 订购 → · 查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服