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