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 г.)
коммит 6159e7a
rebase --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 г.)
коммит 0e34efb
rebase
: остановить экспортПодписал: Филип Вуд
Рецензировал: Эвар Арнфьорд Бьярмасон
Подписал: Тейлор Блау
Теперь эта структура
replay_opts
имеет элемент, который нам больше не нужно экспортировать при запуске перебазирования.
Если пользователь установилGIT_REFLOG_ACTION
затем мы используем его при инициализацииreflog_action
.