github / github/copilot-cli

Feature Request: Selective per-file accept/revert for Copilot CLI agent changes like `git add -p`

Offen
#3,640 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:sessions area:tools
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

### Describe the feature or problem you'd like to solve

After Copilot CLI applies file changes in a turn, the only recovery option is `/rewind` which reverts **everything** in that turn. There is no way to selectively keep some file changes while discarding others.

### Proposed solution

1. **post-apply interactive review**: After a turn completes, offer a `/review-changes` command that lists modified files and lets you revert selected ones
2. **`/rewind --file `**: Extend `/rewind` to accept a file path argument
3. **Plan mode enhancement**: In plan mode, show actual code diffs (not just natural language descriptions) before execution, with per-file approval
4. **VS Code `/ide` integration**: When connected via `/ide`, route file-level accept/discard through VS Code's native diff editor

Any of these would be a significant improvement over the current all or nothing model

### Example prompts or workflows

After a turn applies file changes, users should be able to selectively accept or revert on a **per-file** basis and ideally **per chunk** within a file similar to `git add -p`.

Something like:

Copilot modified 5 files. Review changes?
[1] src/auth.ts - 12 lines changed [keep/revert]
[2] src/config.ts - 4 lines changed [keep/revert]
[3] tests/auth.test.ts - 28 lines changed [keep/revert]

### Additional context

### Problems

| Mechanism | Granularity | Limitation |
|---|---|---|
| Write permission prompt | Per write-call | Binary yes/no; one call can touch many files |
| `/diff` | Read-only, post-apply | Shows changes but cannot act on them |
| `/rewind` | Entire turn | All-or-nothing cannot keep partial changes |

`/rewind` is a blunt instrument - it treats a multi-file turn as atomic. Real-world agent tasks often span several files, and it's common for most changes to be correct while one file went in an unintended direction. Forcing an all-or-nothing revert actively works against iterative, confident use of the agent.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.