Вы можете объединить изменения из основной ветви в свою ветку featureA,
A--B--F--G--H master
\
\-C--D--E featureA
Предположим, что вы создали FeatureA из коммита B на мастере, и что C, D и E - коммиты, сделанные на FeatureA, а F и G - коммиты, которые переупорядочили методы и т. Д. Теперь вы хотите объединить F и G в ветку featureA.
$ git checkout featureA
$ git merge G (G is the sha1)
Или вы можете выбрать коммиты F и G в featureA. Помните, что вы все равно будете получать конфликты, и это всего лишь альтернативы вашему варианту ребазирования.
В будущем я бы порекомендовал вам выполнить рефакторинг либо непосредственно в FeatureA, либо из другой ветви, ответвляясь от FeatureA:
A--B--F--G--H master
\
\-C--D--E featureA
\
\-I--J--K refactorFeatureA
Тогда объединить ветвь рефакторинга с FeatureA очень просто, поскольку объединение будет тривиальным.