english | блог | контакт
Thu, 18 Aug 2011 @ 15:05

Git и случайно удалённая ветка

Теги: git

Бывает, удаляешь случайно бранч с незавершённой работой и, более того, незаpushенный в апстрим. Как это сделал 10 минут назад я. Беглый поиск даёт нам команду "git reflog", которая позволяет просмотреть историю изменений бранчей и впоследствии извлечь потерянные коммиты / восстановить бранч.

# создали бранч
$ git co -b branch1
# и новый файл в нём
$ date > test2
$ git add test2
# закоммитили
$ git ci -a -m 'second'
# а бранч удалили
$ git co master
$ git branch -D branch1
# смотрим историю
$ git reflog
8bcb54d HEAD@{0}: checkout: moving from branch1 to master
931b97d HEAD@{1}: commit: second
8bcb54d HEAD@{2}: checkout: moving from master to branch1
8bcb54d HEAD@{3}: commit (initial): first
# восстанавливаем
$ git co 931b97d
$ git co -b branch1
# да здравствует git!