Reset a file to another revision in both staging area and working tree.
Section: Restore Basics
Restore both index and working tree from another commit
bash
bash
git restore --source=<commit_sha> --staged --worktree path/to/fileExplanation
Useful when you want a path to match another commit exactly in both locations.
Learn the surrounding workflow
Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.
Related commands
Same sheet · prioritizing Restore Basics
Unstage a file with restore
Restore the index entry for a path from HEAD.
Restore a file from another commit
Copy file contents from a specific commit into the working tree.
Discard unstaged changes in a file
Restore a file in the working tree from the index.
Interactively restore hunks
Select portions of a file to restore interactively.
Mental model for reset vs restore vs revert
Quick decision guide for the three similarly named commands.
Undo last commit but keep everything staged
Move HEAD back one commit while preserving index and working tree.