git branch имя_новой_ветки # Создадим новую ветку,
# которая будет указывать на твои новые свежие правки.
# Мы просто сохранили ссылку на твою работу, не не переключаемся на новую ветку,
# чтобы следующей командой вернуть master в правильное состояние.
git reset --hard origin/master # Откатим ветку master до первоначального состояния
# на момент последнего git pull
git reset HEAD~1
~
равносильно ~1
git status
на каждом шаге.git diff --staged --name-only
HEAD указывает на второй коммит
HEAD^ или HEAD~1 будет ссылкой на первый
HEAD~2 резонно выдало ошибку, так как у первого коммита уже нет родителя.
Пиши
git rebase -i HEAD^
и там склеивай.Но надо понимать, что это создаст новый коммит, а не исправит предыдущий. И по факту получишь новую локальную ветку develop, так как это у тебя текущая ветка.
Внешние ветки origin/master, origin/develop и локальная master останутся без изменений.
Тебе придётся удалить локальный master и создать заново, а потом принудительно удалить и создать их на гитхабе командой
git push --all --force