Sobes.tech
Назад к вопросам
Junior
5

Вы работаете над веткой feature/checkout-flow. После попытки rebase коммиты с добавлением корзины и финальной кнопки оформления заказа исчезли. Вы смотрите git log: commit 8bcd3f2 Author: You Date: Fri Apr 26 16:00:00 2025 UI fixes for mobile А вот вывод git reflog: 2f48e9a HEAD@{0}: rebase -i (squash): UI fixes for mobile 98c1dd3 HEAD@{1}: commit: Added checkout button 3adba75 HEAD@{2}: commit: Add cart logic 8bcd3f2 HEAD@{3}: checkout: moving from main to feature/checkout-flow Что произошло и как вернуть работу? Выполнен git pull --squash --ff-only, необходимо откатить последний коммит с помощью reset и выполнить git pull еще раз Был выполнен git stash, восстановление — через git stash pop Выполнен git cherry-pick --squash 8bcd3f2..98c1dd3, коммиты были объединены вручную, восстановить нельзя Выполнен git revert 98c1dd3, нужно отменить git revert через git reset Выполнен интерактивный rebase с squash, который уничтожил часть истории, — нужно сделать git cherry-pick 3adba75 98c1dd3

Компании, где спрашивали
01.tech

Ответ от нейросети

sobes.tech AI

Судя по выводу git log и git reflog, была выполнена интерактивная операция rebase с squash, которая объединила несколько коммитов в один, из-за чего отдельные коммиты с добавлением корзины и кнопки оформления заказа исчезли из истории.

В git reflog видно, что последние коммиты:

  • 3adba75 — Add cart logic
  • 98c1dd3 — Added checkout button

были объединены в один коммит 8bcd3f2 с сообщением "UI fixes for mobile".

Чтобы восстановить потерянные коммиты, можно выполнить cherry-pick нужных коммитов из reflog:

git cherry-pick 3adba75 98c1dd3

Это применит изменения из этих коммитов поверх текущей ветки, восстанавливая логику корзины и кнопку оформления заказа.

Таким образом, правильный ответ:

Выполнен интерактивный rebase с squash, который уничтожил часть истории, — нужно сделать git cherry-pick 3adba75 98c1dd3