Подтвердить что ты не робот

Восстановить удаленную ветвь в Git

Я удалил свою ветку по ошибке следующим образом:

git branch -D demo

Но я хочу восстановить его... Я получаю это после git reflog

541b2f5 [email protected]{23}: checkout: moving from demo to master
06fa6d5 [email protected]{24}: commit (merge): remove ajax call for deleting variables and transfomers
b84b60a [email protected]{25}: checkout: moving from demo1 to demo

Я хочу создать ветку с помощью sha 06fa6d5... поэтому я попробовал это:

git checkout -b demo  06fa6d5

git checkout -b demo  [email protected]{24}

Но я не получил код из этого...

4b9b3361

Ответ 1

Создайте список всех оборванных или недостижимых коммитов.

git fsck --full --no-reflogs --unreachable --lost-found

Распечатайте список сообщений фиксации для всех коммитов в потерянных и найденных.

ls -1 .git/lost-found/commit/ | xargs -n 1 git log -n 1 --pretty=oneline

Найдите недостающую фиксацию в процессе ручной проверки (т.е. чтения). Создайте новую ветку с отсутствующим фиксатором в качестве ветки ветки.

git checkout -b branch-name SHA

Ответ 2

Получив потенциальный sha1 для последнего конца ветки demo, используйте gitk sha1, чтобы фактически просмотреть историю фиксации, чтобы проверить, что у вас есть правильный.