AI 编程与智能体

[Claude Code #4] 用 /resume·/branch·/fork 延续、分支和复制对话

Claude Code 会话可以用 /resume 延续、用 /branch 分支、用 /fork 克隆。本篇整理对话管理命令,包括会话选择器快捷键、命名,以及摘要恢复对话框。

4 分钟阅读
[Claude Code #4] 用 /resume·/branch·/fork 延续、分支和复制对话 封面图

很容易以为关闭终端后,和 AI 的对话也会消失。昨天花时间解释的上下文,今天又得从头输入。

使用 Claude Code 就不必这样。所有对话都会在本地保存为会话,随时都可以取出并继续。

本篇整理用于延续对话的/resume、用于分支的/branch,以及复制后交给它其他工作的/fork

Claude Code 第 3 篇的权限一样,会话也是每天都会使用的基础功能。先从入口开始。

继续对话:入口整理

根据官方会话文档,恢复方式分为以下几种。

claude --continue        # 恢复当前目录中最近的会话
claude --resume          # 打开会话选择器
claude --resume 名称     # 按名称直接恢复
claude --from-pr 1234    # 对应的 PR仅查看与其关联的会话

如果已经在会话中,可以使用/resume切换到其他对话。

恢复时回来的不只是对话内容,还包括工具调用记录、使用的模型和权限模式。

也有例外。恢复后必须手动重新开启 plan 模式,bypassPermissions 也必须在执行时通过标志或设置重新指定。

--mcp-config--add-dir等执行标志也不会恢复,因此恢复时需要再次传入。

会话选择器的使用方法

不带参数运行/resume即可显示会话列表。列表中有几个可用的快捷键。

  • Space:预览会话内容
  • Ctrl+R:重命名
  • Ctrl+W:将范围扩展到同一仓库的所有工作树(仅在多工作树时显示)
  • Ctrl+A:扩展到这台电脑上的所有项目
  • Ctrl+B:仅筛选当前 git 分支的会话

将 GitHub、GitLab 等服务的 PR 地址粘贴到搜索框中,有时还可以找到创建该 PR 的会话。

命名会话后更容易找到

会话一多,寻找“前天的那个任务”就成了一件麻烦事。命名后,只需一行claude --resume 이름即可。

启动时使用claude -n auth-refactor,工作中使用/rename auth-refactor

如果不命名,系统会自动生成一个概括首个提示的标题。不过,这个自动标题虽然会出现在搜索结果中,却不是--resume 이름的对象。

/branch:尝试其他方案时

如果到这里讲的是“延续”,那么/branch就是“分支”。

它会复制当前对话,创建一个新会话并切换过去。原会话会保持不变。

/branch try-streaming-approach

当重构方向分成两条路时很适合使用。可以在一个分支中尝试方案 A,不合适时回到原会话改走方案 B。

Claude Code 使用 /branch 和 /fork 进行会话分支与复制的结构示意图
/branch 会让我切换过去,/fork 则让副本在后台运行

从终端启动时要进行分支,请使用--fork-session

claude --continue --fork-session

不要在不使用 fork 的情况下,同时在两个终端恢复同一个会话。两边的消息会混入同一条记录。

/fork:复制会话并交给它其他工作

如果/branch是我切换过去的分支,那么/fork就是创建后台工作者的副本。

正如官方命令文档所述,系统会创建一个完整继承当前对话的后台会话,而我继续原来的对话。这就像把支线任务交给已经了解上下文的助手。

/fork 用这个方法也试着把测试代码写出来

可以把长时间的调查或重复性工作交给它,同时继续主线任务。副本修改代码时会创建并使用自己的工作树,因此不会和我的文件冲突。

长时间闲置的大型会话会询问是否要通过摘要恢复

根据官方会话文档,在 Pro·Max 计划中,恢复闲置超过一小时且超过 10 万 token 的会话时,会显示选项。

通过摘要恢复时,会带着摘要继续,而不是完整历史,因此后续请求更轻量。直接恢复会保留所有细节,但每次请求的成本更高。

判断标准是任务是否需要更多细节。只要注意摘要遗漏的内容会从上下文中消失。

一幅插图:写有 NAME YOUR SESSIONS 的文字,以及给已保存会话卷轴贴上姓名标签的人
命名是并行工作的半壁江山

总结

会话管理的核心是三个动词:用--resume延续,用/branch分支,用/fork复制。

养成命名(-n/rename)的习惯后,并行工作会轻松许多。

下一篇将介绍能把代码和对话整体倒回去的/rewind检查点。先了解如何撤销,再进行分支会更安心。

来源与确认标准

延伸阅读

Claude Code 系列

相关主题