上篇文章讲了我为什么做Pockode——用手机远程操控家里电脑上的Claude Code。
用了一段时间后,下一个痛点浮出水面:并行作业。
用Claude Code干活,等待的时间一长,就会觉得有点浪费。
Pockode的worktree切换功能
于是我给Pockode加了git worktree管理功能。
侧边栏点几下,就能创建和切换worktree。
Pockode虽然是移动端优先设计的,但我自己在电脑上也一直用它。
因为当初为了让手机上"切换尽可能简单",结果在电脑上用起来反而也最顺手。
想同时跑的任务越来越多
让Claude Code去实现某个功能的时候,脑子里经常会冒出别的念头:
- 想同时推进另一个功能
- 想顺手排查个bug
- 想把积压的PR review清一清
以前自己手写代码,只能一件一件来。但用上Claude Code之后,"让它同时干几件事"的想法自然而然就多了。
问题是,并行作业该怎么管理。
同一个目录并行跑,早晚出事
在同一个工作目录里并行跑多个Claude Code,迟早会出问题:
- 生成到一半的文件被另一个任务覆盖
- 一边的改动把另一边的前提条件搞乱了
- 状态变来变去,搞不清到底跑到哪了
小心翼翼地操作也不是不能跑,但如果并行是常态,就得时刻绑紧神经,太累。
所以git worktree是最自然的选择
这时候git worktree就派上用场了。
worktree本身的原理就不展开了,简单说就是:同一个仓库可以按分支展开成多个独立目录。
- 任务A在目录A
- 任务B在目录B
物理上隔开了,并行跑Claude Code再合适不过。
但是,有点烦
话虽如此,worktree用起来确实有点麻烦:
- 命令记不住
- 用完的worktree忘了删
- 每次切任务都要换目录、重启Claude Code
明知道好用,但这些小摩擦积少成多,就容易犯懒不想用。
电脑上尚且如此,手机上就更别提了。
并行作业的日常
最近我的工作流大概是这样:
- worktree A
- session A:收尾功能A
- session B:review功能A
- worktree B
- session BA:规划功能B
- worktree C
- session CA:review功能C的PR
主线集中在功能A,碎片时间给功能B、C下个指令,让它们先跑着。
让Claude Code多干点活,Max套餐的钱得赚回来。
多线程开发
如果你习惯单线程推进工作,传统方式完全够用。
但一旦开始并行跑Claude Code,就会想把工作目录分开。
git worktree正好解决这个问题,而Pockode把它做成了内置功能。
试试多线程开发吧。
不管是在电脑上,还是在手机上。