💡 一句话总结
claude -c接着上次聊,claude -r挑一个会话聊;改错了,按两下Esc时光倒流。
😩 一、痛点:关了终端,记忆清零?
和 Claude 聊了半小时,需求、背景、踩过的坑都交代清楚了。结果一不小心关了终端,或者下班顺手退出------
再敲 claude,迎接你的是一个 全新的、什么都不记得的 Claude。🫠
又或者,Claude 一口气改了五六个文件,你一看: 方向错了。想回到改之前,却不知道该从哪下手。
别慌,这两件事 Claude Code 都管。
🔁 二、进入之前的会话
Claude Code 会把每次会话都保存在本地,随时可以接着聊。
⏩ 1. 继续最近一次会话:-c
bash
claude -c
# 等价于
claude --continue
自动打开 当前目录下最近一次的会话,上下文原封不动,直接接着说就行。
📁 注意是「当前目录」:在哪个项目里聊的,就要在哪个项目目录下执行。
📋 2. 从历史里挑一个:-r
bash
claude -r
# 等价于
claude --resume
会弹出一个 会话列表,上下键选择、回车进入。列表太长?可以带个关键词搜索:
bash
claude -r "登录接口"
如果你知道会话 ID,也可以直接指定:
bash
claude -r <session-id>
💬 3. 已经在会话里了?用 /resume
不用退出,直接在输入框里敲:
bash
/resume
一样会弹出会话列表,切换到想要的那一个。
🏷️ 4. 给会话起个名字,下次好找
会话一多,列表里全是「帮我看看这个报错」,根本分不清谁是谁。启动时起个名字:
bash
claude -n "订单重构"
名字会显示在输入框、/resume 列表和终端标题里,一眼就能认出来。
🌿 5. 想基于旧会话另起炉灶:--fork-session
bash
claude -c --fork-session
claude -r --fork-session
带上它,会以旧会话的上下文为起点, 生成一个新的会话 ID,原会话保持不变。适合「同一个背景,换个思路试试」的场景。
🔗 6. 和第一篇的 cc 联动
还记得上一篇定义的 cc 函数吗?因为参数是原样透传的,所以:
bash
cc -c # 继续上次会话
cc -d -c # 危险模式 + 继续上次会话
cc -d -r # 危险模式 + 挑一个会话
⏪ 三、恢复之前的修改
Claude Code 内置了 检查点(Checkpoint):你每发一条消息,它都会记下当时 Claude 改过的文件状态。改错了,就能回到过去。
⌨️ 1. 按两下 Esc,或者敲 /rewind
在会话里:
- 连按两下
Esc; - 或者输入
/rewind。
会列出你之前发过的每一条消息,选中想回到的那个时间点。
🎛️ 2. 选择恢复什么
选好时间点后,可以决定「倒流」的范围:
| 选项 | 效果 |
|---|---|
| 💻 恢复代码 | 文件回到当时的样子,对话记录保留 |
| 💬 恢复对话 | 对话回到当时,文件保持现在的样子 |
| 🔄 代码 + 对话 | 两个都回去,彻底当作后面什么都没发生 |
常见用法:
- 🙅 代码改歪了,但聊的内容还有用 → 只恢复代码;
- 🧹 聊跑偏了,想换个问法重来 → 只恢复对话;
- 🔥 整个方向都错了 → 代码 + 对话一起回去。
⚠️ 四、注意事项
🙈 1. 检查点不是万能的
检查点只记录 Claude 通过编辑工具改的文件,以下情况它管不了:
- ❌ Claude 通过 Bash 执行的命令,比如
rm、mv、git checkout; - ❌ 你自己在 IDE 里手动改的内容;
- ❌ 数据库、远程服务器等文件以外的变更。
🛡️ 一句话: 检查点是「后悔药」,Git 才是「保险」。 重要改动,记得及时 commit。
💣 2. 危险模式下更要小心
如果你用了第一篇的 cc -d,Claude 执行命令不再询问。一条 rm -rf 下去,检查点也救不回来。
所以危险模式 + Git 兜底,才是正确姿势。
📁 3. 找不到会话?先看目录
-c 和 -r 都和 当前目录相关。找不到之前的会话,先确认自己是不是在对应的项目目录下。
📌 总结
- 🔁 继续最近会话 :
claude -c; - 📋 挑选历史会话 :
claude -r,会话内用/resume; - 🏷️ 会话命名 :
claude -n "名字",方便下次找; - ⏪ 撤销修改 :按两下
Esc或/rewind,可选恢复代码、对话或两者; - 🛡️ 底线:检查点管不了 Bash 命令和手动修改,Git 才是最后的保险。