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

Возврат интерактивной git rebase

После завершения ветки функций во время git rebase -i я случайно удалил все мои коммиты. Я не совсем уверен, но я подозреваю, что вместо того, чтобы раздавить мои коммиты, я заменил всю запись сообщением о фиксации.

http://shafiulazam.com/gitbook/4_interactive_rebasing.html говорит:

Последнее полезное, что интерактивные rebase может сделать это для вас. Если вместо выбора "выбрать", 'squash' или 'edit' для фиксации line, вы просто удаляете строку, это удалит фиксацию из история.

Мой вопрос: есть ли способ отменить/отменить это?

4b9b3361

Ответ 1

Если вы только что сделали rebase, вы можете попробовать здесь:

git reset --hard ORIG_HEAD

as Jakub Narębski подробнее:

ORIG_HEAD - это предыдущее состояние HEAD, заданное командами, которые могут иметь опасное поведение, чтобы их было легко вернуть.
Теперь менее полезно, что Git имеет reflog: [email protected]{1} примерно эквивалентен ORIG_HEAD ([email protected]{1} всегда является последним значением HEAD, ORIG_HEAD является последним значением HEAD перед опасной операцией).

Если вы выполнили некоторые операции с момента rebase, reflog все еще может помочь.

Ответ 2

Вы можете сделать "git reflog" и вернуть свой старый HEAD.