Git Reset, Revert, and Restore Cheat Sheet/Restore a file from another commit

Copy file contents from a specific commit into the working tree.

Section: Restore Basics

Restore a file from another commit

bash
bash
git restore --source=<commit_sha> path/to/file
Explanation

Useful when you need one path as it existed in a different revision without moving branch history.

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
Restore both index and working tree from another commit
Reset a file to another revision in both staging area and working tree.
OpenIn sheetbashsame section
Discard unstaged changes in a file
Restore a file in the working tree from the index.
OpenIn sheetbashsame section
Unstage a file with restore
Restore the index entry for a path from HEAD.
OpenIn sheetbashsame section
Interactively restore hunks
Select portions of a file to restore interactively.
OpenIn sheetbashsame section
Mental model for reset vs restore vs revert
Quick decision guide for the three similarly named commands.
OpenIn sheettext2 tag match
Undo last commit but keep everything staged
Move HEAD back one commit while preserving index and working tree.
OpenIn sheetbash1 tag match