Created
December 11, 2019 22:10
-
-
Save kvasilopoulos/cb6fbd626692f1741e8f0ae404eb1291 to your computer and use it in GitHub Desktop.
Find and restore a deleted file in a Git repository
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Copied from https://stackoverflow.com/questions/953481/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" | |
--- | |
If you are using zsh and have the EXTENDED_GLOB option enabled, the caret symbol won't work. You can use `~1` instead. | |
git checkout $(git rev-list -n 1 HEAD -- "$file")~1 -- "$file" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment