Сначала очевидное предположение: если вы просите удалить коммиты «3» и «6», вы знаете, что можете отказаться от изменений этих коммитов, а не просто «отменить их, потому что они меня раздражают».
Вы можете использовать git rebase -i {1}
(замените "1" на хэш коммита 1
на диаграмме).
Выполнение этой команды откроет файл в текстовом редакторе:
pick 2 commit message
pick 3 commit message
pick 4 commit message
pick 5 commit message
pick 6 commit message
pick 7 commit message
pick 8 commit message
pick 9 commit message
pick 10 commit message
# Rebase 31ae65d16..b31f500e4 onto 31ae65d16 (30 commands)
#
# Commands:
# p, pick <commit> = use commit
# ... instructions to edit the history above
В этом файле удалите строки «3» и «6», сохраните и выйдите.
Результатом будет ветвь со всеми коммитами, кроме «3» и «6».