Звучит так, как будто вы хотите использовать сквош-слияния.
git checkout master
git merge --squash featureX
git commit
Это применяет все изменения к мастеру, как если бы вы слили (или перебазировали) FeatureX, как один коммит "без слияния".
Для этого есть несколько причин.Можно выполнить сдавливание и перебазирование за один шаг, просто выполнив интерактивную перебазировку, но (1) нет никакой реальной необходимости делать это, если вы собираетесь раздавить каждый промежуточный коммит - в этом случае объединение сквоша - это работающий ярлык;и (2) вы заметили, что в истории FeatureX, в которую вы сливаетесь, может происходить промежуточное ветвление и слияние;rebase не будет легко справляться с этим.