AI 程式設計教程中文版
官方教程中文版Copilot CLI

回復和 PR 管理

說明 Copilot CLI snapshot、雙 Esc、/undo、/rewind、驗證回復和 PR 審查鏈路。

Copilot CLI 能改檔案和執行命令,就必須能回復。GitHub 官方 rollback 頁面說明:互動式會話中,每次 prompt 開始時,Copilot CLI 會建立 workspace snapshot(工作區快照);如果結果不符合預期,可以回到某個 prompt 前的狀態。

回復不是補救小技巧,而是 CLI 工作流的安全底線。前提:儲存庫必須至少有一個 Git commit,且回復是整個工作區回到 snapshot——不只 Copilot 的改動,你自己的手動編輯也會一起被覆蓋。

閱讀目標:讀完本章,你應該能用 snapshot、雙 Esc/undo 和 Git review 管理 Copilot CLI 改動。

1. Snapshot 怎麼工作

官方文件說明:

  • 每次輸入 prompt 後,CLI 開始工作前會建立 workspace snapshot。
  • 回復會把儲存庫恢復到所選 prompt 開始前的狀態。
  • 可以雙擊 Esc 開啟 rewind picker。
  • 也可以用 /undo/rewind slash command。
  • 需要在有至少一個 commit 的 Git repository 中工作。
flowchart TD
    Prompt["輸入 prompt"] --> Snapshot["建立 snapshot"]
    Snapshot --> Work["Copilot 改檔案 / 跑命令"]
    Work --> Review{"結果是否可接受?"}
    Review -->|是| Keep["保留並測試"]
    Review -->|否| Rewind["Esc Esc / /undo"]
    Rewind --> Picker["選擇 snapshot"]
    Picker --> Restore["恢復到 prompt 前狀態"]
    Keep --> PR["commit / PR review"]

    style Snapshot fill:#dbeafe,stroke:#2563eb,stroke-width:2px
    style Rewind fill:#fee2e2,stroke:#dc2626,stroke-width:2px
    style PR fill:#dcfce7,stroke:#16a34a,stroke-width:2px

2. 回復前必須知道的警告

官方 rollback 頁面給出兩個關鍵警告:

  • Rewind 會恢復整個 workspace 到選中 snapshot 的狀態,撤回該 snapshot 後所有改動,不只撤回 Copilot 改動,也包括你的手動編輯和 shell command 產生的改動。
  • Rewind 不能撤銷。回到某個 snapshot 後,該點之後的 snapshots 和 session history 會永久移除。

所以回復前先看:

git status
git diff

確認沒有你要保留的手動改動。

3. 雙 Esc 回復

當 Copilot 已經完成一個 prompt 的響應,且 input area 為空時:

  1. 快速按兩次 Esc
  2. 開啟 rewind picker。
  3. 選擇要回到的 snapshot。
  4. 儲存庫恢復到該 prompt 開始前。
  5. 選中的 prompt 會重新出現在 input area,你可以改寫後重試。

如果 input area 裡有文字,雙 Esc 可能先清空輸入,不一定開啟 picker。

4. /undo/rewind

/undo/rewind 是開啟 rewind picker 的 slash command。它們和雙 Esc 結果相同,適合你不想依賴快捷鍵時使用。

推薦流程:

  1. /undo
  2. 選 snapshot。
  3. git status
  4. git diff
  5. 重新縮小 prompt。

5. 回復驗證

回復後不能只看 CLI 提示。至少檢查:

  • git status 是否回到預期。
  • 被刪除或新增的檔案是否符合預期。
  • 測試是否需要重跑。
  • 後續 prompt 是否縮小了範圍。
  • 如果已有 PR,是否需要關閉、更新或說明回復。

6. PR 管理

Copilot CLI 可以幫助管理 PR,但 PR 仍然要按普通工程流程處理:

  • CLI 可以建立或修改 PR。
  • /delegate 會開啟 draft PR。
  • PR summary 不是 review。
  • Reviewer 仍要看 diff、tests、workflow 和許可權變化。
  • 不合格分支可以關閉 PR 或人工接管。
深讀:為什麼 Git commit 是 rollback 前提

官方文件要求儲存庫至少有一個 commit,因為 CLI 用 Git operations 跟蹤和恢復 workspace state。沒有 Git 基線,回復就缺少明確恢復點。

所以在新專案裡使用 CLI 寫入前,先建立初始 commit,比事後手動收拾安全得多。

本章自檢

完成本章後,用這 4 個問題檢查:

  1. 當前儲存庫是否至少有一個 commit?
  2. 回復前是否確認沒有需要保留的手動改動?
  3. 回復後是否用 git statusgit diff 驗證?
  4. PR 是否保留了 reviewer 能理解的變更、測試和回復記錄?

透過標準:CLI 任務失敗時,你能回到已知狀態,而不是在髒工作區裡繼續疊加 prompt。

官方來源

接下來去哪

本頁目錄