Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git + Rails: How to restore files deleted with "git rm -r"?

Tags:

git

git-rm

I deleted my db folder in a rails application in with git rm -r

I've tried

git reset HEAD

and

git reset --hard HEAD

but the migration files arent coming back. I tried commiting, then running the reset and still nothing.

What should I do?

like image 772
ChrisWesAllen Avatar asked Feb 17 '11 01:02

ChrisWesAllen


2 Answers

You can checkout the file from the commit where it still exists. Here's how to do it.

git checkout <commit where the file still exists> -- db
# Example:
git checkout 6936142 -- db

# This also works, but if you have a branch named the same as the file or path,
# it will throw an error.
git checkout 6936142 db
like image 61
htanata Avatar answered Sep 28 '22 07:09

htanata


You can checkout individual files from your last commit or index.

git checkout db/* checks out everything under db from the index

git checkout master db/* checks out everything under db from the head of the master branch

you may be able to salvage most of your stuff that way

read more: git help checkout

like image 38
edgerunner Avatar answered Sep 28 '22 06:09

edgerunner