как вернуть незафиксированные удаленные файлы (удаленные простым rm) до последнего коммита git - PullRequest
1 голос
/ 02 февраля 2012

По ошибке я rm -rf каталог в моем git-хранилище. Изменения не зафиксированы, и я хотел отменить это изменение и вернуться к моему последнему 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
#       [....]

Поскольку файлы были удалены, я не смог сделать 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 текущей ветки (целой без какого-либо файла), отбрасывая любые изменения?

1 Ответ

3 голосов
/ 02 февраля 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...