Используйте "git diff branch1..branch2", затем объедините различий, которые он выдает, или лучше "git log branch1..branch2", а затем выберите нужные коммиты.
Я думаю, что лучший вариант, особенно если у вас много коммитов, это использовать интерактивный ребаз . Методы diff и log я бы использовал, только если бы у меня было несколько коммитов или меньше (на самом деле я бы вообще не использовал метод diff, потому что вы потеряли бы свои сообщения журнала).
Просто убедитесь, что вы делаете все это на новой ветви, а не непосредственно на главной, так что вы можете откатиться, если она сломается