检查点 (Beta)
⚠️ Beta 功能: 检查点功能目前处于 Beta 阶段,功能可能会有变动。
概述
自动跟踪并回退 Codebuddy 的编辑,快速恢复不需要的更改。
Codebuddy Code 在您工作时会自动跟踪 Codebuddy 对文件的编辑,让您能够快速撤销更改,并在出现问题时回退到之前的状态。
检查点的工作原理
当您与 Codebuddy 协作时,检查点功能会在每次编辑之前自动捕获代码的状态。这个安全网让您可以放心地执行大规模的任务,因为您随时可以恢复到之前的代码状态。
自动跟踪
Codebuddy Code 会跟踪其文件编辑工具所做的所有更改:
- 每个用户提示都会创建一个新的检查点
- 检查点会跨会话持久保存,因此您可以在恢复的对话中访问它们
- 检查点会随会话在 30 天后自动清理(可配置)
回退更改
使用 /rewind 命令来打开回退菜单。您可以选择恢复:
- 仅对话:回退到某条用户消息,同时保留代码更改
- 仅代码:还原文件更改,同时保留对话
- 代码和对话都回退:将两者都恢复到会话中的某个之前的时间点
常见使用场景
检查点在以下情况下特别有用:
- 探索替代方案:尝试不同的实现方式,而不会丢失起始点
- 从错误中恢复:快速撤销引入 bug 或破坏功能的更改
- 功能迭代:在知道可以恢复到可用状态的前提下,放心地进行各种尝试
限制
Bash 命令的更改不会被跟踪
检查点不会跟踪通过 bash 命令修改的文件。例如,如果 Codebuddy Code 运行:
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt这些文件修改无法通过回退功能撤销。只有通过 Codebuddy 的文件编辑工具直接进行的编辑才会被跟踪。
外部更改不会被跟踪
检查点只跟踪在当前会话中被编辑过的文件。您在 Codebuddy Code 之外手动对文件所做的更改,以及来自其他并发会话的编辑,通常不会被捕获,除非它们恰好修改了与当前会话相同的文件。
不能替代版本控制
检查点设计用于快速的会话级恢复。对于永久的版本历史和协作:
- 继续使用版本控制(如 Git)来管理提交、分支和长期历史
- 检查点是版本控制的补充,而非替代品
- 可以将检查点理解为"本地撤销",而 Git 是"永久历史"