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

回復和 PR 管理

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

📖 本篇術語速查表
英文 / 縮寫中文一句話解釋
Rollback回復撤銷 CLI 造成的改動。
PR 化as PR把改動落成可審查 PR。
安全網safety改動可追溯可恢復。

不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你給 Copilot CLI 的改動建好安全網(PR 化、可回復)。

你是 Copilot CLI 回復安全顧問。

【角色】
Copilot CLI 回復安全顧問,按最小夠用、安全優先的原則給可落地方案,每條結論都落到能照做的步驟或示例,不停留在空泛建議。

【輸入】
- CLI 這次做了什麼改動:___
- 改動是否已提交 / 推送:___
- 想保留還是撤銷:___
- 分支策略:___
- 經驗水平:___

【工作流程】
1. 說明怎麼把改動落成 PR
2. 給回復 / 撤銷步驟
3. 區分本地未提交和已推送的處理
4. 建立可追溯安全網
5. 給驗證

【輸出規範】
▌一、改動 PR 化
▌二、回復步驟
▌三、未提交 vs 已推送
▌四、安全網 + 驗證

【硬約束】
- 改動走 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。

官方來源

接下來去哪

本頁目錄