2012-02-01 2 views
1

По ошибке I rm -rf каталог в моем хранилище git. Изменения не выполняются, и я хотел бы вернуть это изменение и вернуться к моему последнему git commit.как вернуть неиспользуемые удаленные файлы (удаленные с равным rm) до последнего git commit

# On branch release-1 
# Changes not staged for commit: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
#  deleted: dir/file1 
#  [....] 

Как были удалены файлы я NIT в состоянии сделать git checkout -- <file> так что я сделал git checkout -- вместо этого, но это не сработало.

Поэтому я взял ярлык: прятали Изменения,

$ git stash 
Saved working directory and index state WIP on release-1: d2dbff3 removed the CVS $Id lines 
Checking out files: 100% (394/394), done. 
HEAD is now at d2dbff3 removed the CVS $Id lines 

А теперь все в порядке.

У меня сложилось впечатление, что сдерживание - это немного грубой силы. Можно ли сделать checkout текущей ветви (целая, не давая никаких файлов), отменив какие-либо изменения?

ответ

3

В краткосрочной перспективе вы можете использовать git stash drop, чтобы получить излишнюю запись из вашего кошелька. В будущем вы можете использовать git checkout HEAD -- dir, чтобы получить версию фиксации головоломки.

+0

+1 Я был настолько запутан с потерянными файлами, что я не думал о передаче файла вместо файла команде проверки :-(, thanks –

Смежные вопросы