git rebase abort и пустой reflog

Я тупо прервал забытую перебазировку с коммитами и незафиксированными изменениями, так что это сорвало все, как на подобные вопросы.

Я знаю об reflog и сразу же отправился туда заглядывать, однако он содержал только один хэш бесполезного состояния pre-rebase. Что здесь происходит? Как я могу потерять записи reflog?

РЕДАКТИРОВАТЬ: в ответ на @kan ниже, вот примерно то, что я сделал:

git checkout badbranch
git rebase master
# CONFLICT, realized branch was bad and not needed anymore, but did not rebase --abort!
git branch -D badbranch
git checkout goodbranch
# some commits and edits here
git commit -av
# notices "you are currently rebasing" in the commit message
git rebase --abort # DOH
git reflog

Рефлог содержит только a8f06a6 HEAD@{2}: rebase: updating HEAD сейчас

1 ответ

Это должно быть яснее с Git 2.39 (4 квартал 2022 г.):

См. коммит 9a1925b, , коммит be0d29d , коммит 33f2b61 , коммит 1f2d5dc, коммит da1d633 , коммит 4e5e1b4, коммит 57a1498 (12 октября 2022 г.) от .
См. коммит a524c62 (17 октября 2022 г.) .
(Объединено Тейлором Блау -- ttaylorr-- в коммите 8851c4b, 30 октября 2022 г.)

коммит 6159e7arebase --abort: улучшить сообщение рефлога

Подписано: Филипп Вуд

При прерывании перебазирования сообщение reflog выглядит так:

       rebase (abort): updating HEAD

что не очень информативно.
Улучшите сообщение, упомянув ветку, к которой мы возвращаемся, как мы это делаем в конце успешной перебазировки, чтобы она выглядела так.

       rebase (abort): returning to refs/heads/topic

Если установлено в среде, мы больше не пропускаем " (abort)" из сообщения reflog .
В этом случае мы не пропускаем "(start)" и "(finish)" при запуске и завершении перебазирования, поэтому мы не должны пропускать "(abort)".

Такgit reflogдолжен помочь в вашем случае, начиная с Git 2.39 (4 квартал 2022 г.).


Кроме того, по-прежнему с Git 2.39 (4 квартал 2022 г.) избегайте установки для улучшения читаемости внутренних компонентов секвенсора.

См. , коммит d188a60 (9 ноября 2022 г.) Phillip Wood ()Филиппа Вуда ( phillipwood) .
(Объединено Junio ​​C Hamano ()Junio ​​C Hamano -- gitster-- в коммите ff84d03 , 23 ноября 2022 г.)

коммит 0e34efbrebase: остановить экспорт

Подписал: Филип Вуд
Рецензировал: Эвар Арнфьорд Бьярмасон
Подписал: Тейлор Блау

Теперь эта структураreplay_optsимеет элемент, который нам больше не нужно экспортировать при запуске перебазирования.
Если пользователь установилGIT_REFLOG_ACTIONзатем мы используем его при инициализацииreflog_action.

Другие вопросы по тегам