Поскольку это основная ветвь, из которой вы хотите отменить коммиты, лучшим вариантом будет git revert . Например, если вы попытаетесь полностью удалить коммиты из истории мастера посредством интерактивной перебазировки, то идентификаторы коммитов, которые следуют за удаленными коммитами, изменятся. Помните, что вы не хотите менять идентификаторы коммитов в master, потому что другие разработчики могут работать над ветвями компонентов, имеющих эти идентификаторы коммитов, и они могут столкнуться с проблемами при конфликтах слияния, когда они позже объединяются с master.
You может найти коммиты ветви функций и отменить их, как показано ниже, в новой ветке функций, созданной из master, а затем отправить запрос на извлечение master.
git revert feature1Commit1..feature1Commitn
git revert feature2Commit1..feature2Commitm
Это фактически создает новые коммиты, которые отменяют ваши изменения. Таким образом, ваши идентификаторы коммитов feature1 и feature2 остаются в master, но внесенные вами изменения будут фактически возвращены в созданные новые идентификаторы коммитов.