Самым простым способом было бы найти главный коммит ветви, как это было непосредственно перед началом перебазировки в reflog ...
git reflog
и сбросить текущую ветвь к ней (с обычными предостережениями о полной уверенности перед перезагрузкой с опцией --hard
).
Предположим, что старая фиксация была HEAD@{5}
в журнале ссылок:
git reset --hard HEAD@{5}
В Windows вам может потребоваться указать ссылку:
git reset --hard "HEAD@{5}"
Вы можете проверить историю старого кандидата, просто выполнив команду git log HEAD@{5}
( Windows: git log "HEAD@{5}"
).
Если вы не отключили повторные журналы для каждой ветви, вы можете просто сделать git reflog branchname@{1}
, так как ребаз отсоединяет головку ветви перед повторным присоединением к последней. Я бы дважды проверил это, хотя я не проверял это недавно.
По умолчанию все reflogs активируются для не голых репозиториев:
[core]
logAllRefUpdates = true