В случае прошлой ребазинга, который вы не сделали должным образом, вы сейчас (Git 2.12, 1 квартал 2017 г.) имеете git rebase --quit
См. Коммит 9512177 (12 ноября 2016 г.) Нгуена Тхаи Нгука Дуй ( pclouds) .
(Слиты Junio C Hamano - gitster- в фиксации 06cd5a1 , 19 дек 2016)
rebase: добавь --quitв очистку ребаз, оставь все остальное нетронутым
Бывают случаи, когда вы решаете прервать выполняемую перебазировку и переходить к другим действиям, но сначала вы забыли сделать « git rebase --abort» . Или перебазирование происходило так долго, что вы об этом забыли. К тому времени, когда вы поймете, что (например, запустив еще одну перебазировку) уже слишком поздно пересматривать ваши шаги. Решение обычно
rm -r .git/<some rebase dir>
и продолжай свою жизнь.
Но может быть два разных каталога для <some rebase dir>(и это, очевидно, требует определенных знаний о том, как работает rebase), и .gitчасть " " может быть намного длиннее, если вы не в топ-директоре или в связанном рабочем дереве. И " rm -r" очень опасно делать .git, ошибка в нем может уничтожить базу данных объектов или другие важные данные.
Укажите " git rebase --quit" для этого варианта использования, имитируя прецедент " git cherry-pick --quit".
До Git 2.27 (Q2 2020), запись тайника, созданная « git merge --autostash» для сохранения начального грязного состояния, была сброшена по ошибке после « git rebase --quit», что было исправлено.
См. Коммит 9b2df3e (28 апреля 2020 г.) Дентона Лю ( Denton-L) .
(Слито Junio C Hamano - gitster- в фиксации 3afdeef , 29 апрелем 2020)
rebase: Сохранить autostash вступление в stash reflogна--quit
Подписано: Дентон Лю
В a03b55530a ( опция " merge: learn --autostash", 2020-04-07, Git v2.27.0 - слияние, перечисленное в пакете № 5 ) эта --autostashопция была введена для git merge.
(См. « Может ли» git pullавтоматически прятать и извлекать ожидающие изменения? »)
Примечательно, что при git merge --quitзапуске с присутствующей записью автозагрузки она сохраняется в журнале хранилищ.
Это контрастирует с текущим поведением, git rebase --quitкогда запись autostash просто исчезает из существования.
Примите поведение git merge --quitin git rebase --quitи сохраните запись autostash в reflog, а не просто удалите ее.