Я не думаю, что есть какой-либо чистый способ сделать это без git rebase
Если вы не возражаете против грязной истории, вы все равно можете git revert <commit_sha>
, которая создаст инвертированный коммит для того, который вы хотите отбросить.
Не забывайте, что rebase
- очень универсальный и мощный инструмент, его тоже сложно использовать.
Большинство из-за того, что если вы удалите один коммит из средней части истории, высоздать новый поток истории, с коммитом sha-s, полностью отличающимся от того, чем они были изначально.Выполнение любой автоматической / скриптовой работы вокруг этого опасно.Особенно, когда ветвь уже передана удаленному.