介绍
在交互式 Copilot 命令行界面(CLI) 会话中工作时, Copilot 可以更改文件、运行 shell 命令和修改存储库。 如果结果不是你所期望的,可以返回到会话中的之前的某个点以撤销这些更改。
输入提示时,Copilot 命令行界面(CLI) 首先会拍摄您的工作区状态快照。 如果需要,您可以利用快照回滚到会话中的该点。 可以通过按 Esc 两次或使用 /undo 斜杠命令触发倒退。
本文介绍如何回滚更改。 有关在会话中倒退到早期点的更多概念性信息,请参阅 取消 GitHub Copilot 命令行界面 (CLI) 操作并回滚更改。
先决条件
- 您必须在具有至少一个提交记录的 Git 存储库中工作。 Copilot 命令行界面(CLI) 使用 Git 操作来跟踪和还原工作区状态。
- 快照必须存在。 每次您在 CLI 会话中与Copilot开始交互时,都会自动创建快照。 您无法回滚在会话中第一次提示前所做的更改,也无法回滚到跳过快照创建步骤的存储库状态。请参阅 无法回滚的更改。
使用双击 Esc 键回滚
警告
- 倒退会将整个工作区还原到所选快照中的状态。 这将还原在该点之后所做的所有更改——不仅包括由Copilot所做的更改,还包括任何手动编辑以及由 shell 命令导致的更改。 删除快照后在工作区中创建的任何新文件,而不考虑其 Git 状态。
- 倒回操作无法撤消。 回滚到快照后,该点后的所有快照和会话历史记录都将永久删除。
Copilot完成响应您输入的提示后:
-
确保输入区域为空。 如果输入区域中有文本,则快速连续按 Esc 两次会清除文本。
-
连续两次按 Esc 打开回退选取器。
回退选取器列出了当前会话的可用快照,并列出了最新的快照。 将显示十个最新的快照。 如果有 10 个以上的快照可用,则可以使用 箭头 键向下滚动到以前的快照。
对于每个快照,将显示你输入的提示的开头,并指示你提交了该快照的时间。
-
选择要回滚到的快照。 当输入相关提示时,这将把你返回到存储库的状态。
注意
存储库会在 Copilot 开始处理提示之前立即回滚到其状态,而不是在处理完提示后立即回滚。
所选的提示将显示在输入区域中,以便根据需要编辑并重新提交它。
使用 /undo 斜线命令回滚
`/undo`斜杠命令及其别名`/rewind`提供了打开回退选取器的另一种方法。
这两个命令都生成相同的结果,即在Copilot空闲时按两次Esc,并且在输入区域中没有文本。
验证回滚
回滚后,可以使用 Git 命令来验证存储库的状态,并确认它是否符合预期。
通过键入 ! ,可以直接从 Copilot 命令行界面(CLI) 输入提示运行 shell 命令,因此无需退出 CLI 即可检查存储库状态。
| 为此 | 输入此命令 |
|---|---|
| 检查哪些文件显示为已修改、暂存或未跟踪。 | ! git status |
| 显示当前提交的 SHA 和提交消息。 | ! git log --oneline -1 |
| 查看未标记的更改。 | ! git diff |