Skip to content

Instantly share code, notes, and snippets.

@mightyteja
Last active October 30, 2019 06:25
Show Gist options
  • Save mightyteja/1a115cfe3982ed89328dfbab6b93d902 to your computer and use it in GitHub Desktop.
Save mightyteja/1a115cfe3982ed89328dfbab6b93d902 to your computer and use it in GitHub Desktop.
Find and restore a deleted file in a Git repository
Find the last commit that affected the given path. As the file isn't in the HEAD commit, this commit must have deleted it.
git rev-list -n 1 HEAD -- <file_path>
Then checkout the version at the commit before, using the caret (^) symbol:
git checkout <deleting_commit>^ -- <file_path>
Or in one command, if $file is the file in question.
git checkout $(git rev-list -n 1 HEAD -- "$file")^ -- "$file"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment