热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 ># Claude Code 多任务的个人实践(一)

# Claude Code 多任务的个人实践(一)

来源:互联网 更新时间:2026-07-08 07:48

说个有趣的现象:用 Claude Code 干活的人,多少都会遇到这种等待时刻——它正在跑一个任务,你只能干瞪着屏幕等它输出,等 code review。说实话,Claude Code 在 max 模式下的速度着实谈不上快。这段时间里,要么摸鱼,要么就想琢磨怎么同时再开一个战场。

# Claude Code 多任务的个人实践(一)

答案是完全可行。下面分享两种已经跑熟了的朴素并行方式:多开终端,以及同一个仓库里用 git worktree 并行。后续还会研究 subagent 并行——目前的版本在交互上好像不是特别友好,而且 Claude 的设计本身就会让每个任务触发多个子任务,所以没有细究。不过新版本会在后台跑子任务,值得继续跟进。

方式一:直接多开终端

最简单粗暴的一种。如果是两个完全独立的项目,自然会启动两个 Claude 终端。即便是在同一个项目里,如果你手头两个任务改的文件八竿子打不着——比如是非常独立的两块业务组件——那省事的办法也是直接开两个终端标签页,各自执行 claude

这事儿听起来简单到不值一提,但很多人会习惯性地觉得"一个项目只能开一个 Claude Code"。其实只要不动同一批文件,两个实例互相之间毫无感知,各干各的,谁也不知道谁的存在。

这招唯一的限制就是:

改动不能有交集

。哪怕是同一个仓库,只要两个任务碰的文件完全不重叠,风险就很低。真正麻烦的是两个实例同时改同一个文件,这时谁的改动生效、谁的被覆盖,完全看谁后写盘,属于不可控的随机事件。

方式二:同一个仓库里并行改,上 git worktree

多开终端解决的是"物理上开几个 Claude Code",但如果两个任务在

同一个仓库

里,改的文件又可能有重叠风险,单纯多开终端就不够用了——总不能让两个实例在同一个工作目录里同时改同一份文件。这时 git worktree 就是趁手的工具。

这东西到底是什么

git worktree 做的事情,说白了就是让同一个仓库在

好几个文件夹

里同时存在,每个文件夹对应不同分支,但共用同一份 .git 数据。就像下面这个结构:

 复制代码Github/
├── robot-task/               ← 主目录,跑 feature/task-refactor
└── my-project-feature-next/     ← worktree,跑 feature/i18n-overflow

两边完全独立,互不打扰。一边跑着 Claude Code 处理任务重构,另一边可以同时开一个新的 Claude Code 搞多语言溢出适配。

有个坑必须提前说清楚

新建的 worktree 里的文件内容,是

基于目标分支最后一次 commit 的状态

,不包含任何还没提交的改动。

所以如果打算开的新任务依赖当前 Claude Code 正在改、但还没提交的东西,别急着建 worktree,先等它跑完、commit 了再建,否则新目录里看到的还是旧代码,容易让人摸不着头脑。

具体怎么操作

主目录里 Claude Code 正跑着,别动那个终端,另开一个:

 复制代码# 先确认当前在哪个分支
cd robot-task
git branch --show-current
# 假设输出:feature/task-refactor

然后基于当前状态开一个新 worktree,顺带建个新分支:

 复制代码git worktree add ../my-project-feature-next -b feature/i18n-overflow

进新目录,装依赖,起第二个 Claude Code:

 复制代码cd ../my-project-feature-next
yarn install          # node_modules 不会跟过来,必须重装
claude                # 一个全新的、独立的实例

两边各跑各的。等这边任务写完:

 复制代码cd ../my-project-feature-next
git add .
git commit -m "feat: 多语种长内容溢出适配"# 回主目录合并
cd ../robot-task
git merge feature/i18n-overflow# 收尾,把 worktree 目录清掉
git worktree remove ../my-project-feature-next
git branch -d feature/i18n-overflow   # 不想留这条分支就顺手删了

几个容易踩的坑

端口冲突

—— 两边都跑 yarn start,都想抢 3000 端口,第二个直接指定别的端口:

 复制代码PORT=3001 yarn start

或者干脆在 worktree 目录里丢个 .env.local 写死端口,省得每次手动指定。

node_modules 不会共享

—— 这是最容易被忽略的一点。每个 worktree 都是独立文件夹,node_modules 不会跟着分支一起搬过来,必须自己重新 install 一遍。git worktree remove 会把整个目录连 node_modules 一起删掉。

同一分支不能脚踏两条船

—— 同一个分支不能在两个 worktree 里同时 checkout,硬来会直接报错,别浪费时间试。

合并时机要挑对

—— 最好等 Claude Code 把当前任务跑完、commit 干净了再合并,别在它还在改文件的时候手贱去 merge,不然未提交的改动和 merge 操作搅一块,出了问题都不好排查是谁的锅。

什么场景用哪种

拍脑袋总结一下怎么选:

  • 两个完全不搭边的项目,或者改动文件铁定没有交集 → 直接多开终端,最省事
  • 同一个仓库,等 CI、等 review,同时想推进下一个功能 → worktree 走起
  • 同一个需求拆了好几个独立模块,想并行搞完再合 → 每个模块各开一个 worktree,最后统一 merge 回主分支

核心逻辑就一句话:

只要文件不打架,Claude Code 想开几个开几个

预告

后续也会继续研究 Claude 的其他用法。还是很喜欢 Claude 终端的使用方式,但最近一直在用 Codex~不过老手艺不能丢,万一哪天 Codex 被禁了,还是得用回 Claude 终端。

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc