У меня есть локальный и соответствующий ему рефит github. У меня есть некоторые коммиты какУдаление фиксации между другими коммитами
A <- B <- C <- D
A является последним.
Это ситуация на обоих репозиториях. Я хочу удалить commit C, как будто этого не произошло.
Так оно и должно быть, как на git log
A <- B <- D
на обоих РЕПО.
Я пробовал git reset --soft <sha-commit-C>
и теперь застрял. Я не вижу A, B
. Прежде чем делать какие-либо дальнейшие шаги, я хочу быть полностью уверен, что я знаю, что делаю.
git reflog
дает мне:
git reflog
73ea54d [email protected]{0}: reset: moving to 73ea54d8
a594699 [email protected]{1}: rebase -i (finish): returning to refs/heads/unique_ptr_release
a594699 [email protected]{2}: checkout: moving from unique_ptr_release to a594699fb6f7d85bc8
a594699 [email protected]{3}: checkout: moving from unique_ptr_release to unique_ptr_release
a594699 [email protected]{4}: commit (merge): Merge branch 'master' into unique_ptr_release
[email protected]{4}
является то, что моя голова была до reset --soft
команды.
Как мне выйти из этой ситуации?
скопируйте/сохраните папку '.git' перед выполнением дальнейших экспериментов. – mnagel
спасибо. просто сделал это. –
вы, возможно, можете вишнево-вычеркнуть недостающие коммиты (использовать ша из рефлога) в свою текущую ветку и оставить вне, чтобы получить желаемый результат. – mnagel