⬡HEAD undo timeline (reflog)
The branch tree's ↺ Undo timeline row (top of the pane) swaps the commit graph for
git reflog as a flat list, where every past position of HEAD can be reset to —
with destructiveness colour-coded.
Opening the timeline reflog
Entry points
- Branch paneClick the ↺ Undo timeline row at the top of the pane (amber; highlighted while active).
What happens next
- The commit graph is replaced by the
ReflogPane— a flat list from reflog, with a ‹ Graph back button and the subtitle "undo timeline — reset to any point". - The detail pane hides to make room.
- Pressing ‹ Graph (or selecting a branch) fully restores the normal view.
Reset to any point
Each reflog row has three reset buttons, coloured green → amber → red by destructiveness:
| Button | Title | Effect |
|---|---|---|
| soft | move HEAD here, keep changes staged | reset --soft |
| mixed | move HEAD here, keep changes (unstaged) | reset --mixed |
| hard | move HEAD here, DISCARD all changes | reset --hard |
Each click takes one confirmation; the buttons are themed via VS Code colour vars.
Auto-stash safety net
- A hard reset on a dirty tree auto-stashes tracked changes first (
ResetWithAutostash). - Nothing is lost — the toast notes the changes were auto-stashed, recoverable from the stash manager.
Live refresh
iAny git activity (here or external) writes
.git/logs/HEAD; the file watcher catches it and reloads the timeline while it's open.