Git + Rails: Как восстановить файлы, удаленные с помощью "git rm -r"? - PullRequest
12 голосов
/ 17 февраля 2011

Я удалил свою папку db в приложении rails с помощью git rm -r

Я пробовал

git reset HEAD

и

git reset --hard HEAD

но файлы миграции не возвращаются. Я попытался зафиксировать, затем запустить сброс и все еще ничего.

Что мне делать?

Ответы [ 3 ]

18 голосов
/ 17 февраля 2011

Вы можете извлечь файл из коммита, где он еще существует.Вот как это сделать.

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
2 голосов
/ 17 февраля 2011

Вы можете извлекать отдельные файлы из вашего последнего коммита или индекса.

git checkout db/* проверяет все под db из индекса

git checkout master db/* проверяет все под db сглава мастерской ветви

вы можете спасти большую часть ваших вещей таким образом

читать дальше: git help checkout

2 голосов
/ 17 февраля 2011

Попробуйте git reset --hard HEAD^1 (фиксация перед HEAD).Или вы можете получить хэш предыдущего известного рабочего коммита с помощью git log, затем git reset --hard <hash>.

...