есть ли способ вернуть или восстановить операцию git rebase
после --abort
ее выполнения?
Я сделал git rebase --abort
после следующего вывода из базы:
On branch feature/cool-feature-x
Last commands done (20 commands done):
pick bd4c3q commitA
pick e53wr1 commitB
(see more in file .git/rebase-merge/done)
Next commands to do (7 remaining commands):
pick ws5b4 update
(use "git rebase --edit-todo" to view and edit)
You are currently editing a commit while rebasing branch 'feature/cool-feature-x' on 'as34y5'.
(use "git commit --amend" to amend the current commit)
(use "git rebase --continue" once you are satisfied with your changes)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
git log:
дает мне более старый коммит, как и ожидалось.Скажем, последний коммит, т.е. last-working-commit
git reflog
имеет всю историю, как и ожидалось.Я хочу использовать HEAD{2}
git reset --hard HEAD{2}
до последнего изменения, которое я сделал, дает мне следующее:
warning: Log for ref HEAD unexpectedly ended on Sun, 5 Jun 2018 16:15:19
+0300 (last time I made the changes before `git rebase --abort`)
Однако last-working-commit
остается тем же.и каждый раз, когда я запускаю одну и ту же команду, я получаю несколько last-working-commit
в журнале
reference Вопросы: Отмена git rebase
Git: как отменитьобъединить во время перебазировки
РЕДАКТИРОВАТЬ:
git reset
, казалось, работал даже после предупреждения.каждый раз он создавал один и тот же последний коммит, но после переключения обратно на ветку, которую я изначально включил rebase
, HEAD фактически был сброшен, как я хотел.Я не знаю, почему он так себя вел, и было то предупреждение.