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 -- Then checkout the version at the commit before, using the caret (`^`) symbol: git checkout ^ -- 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"