Ответ 1
git merge --no-commit
Это похоже на нормальное слияние, но не создает слияние-фиксацию. Это коммит будет слиянием: когда вы смотрите на историю, ваша фиксация будет отображаться как нормальное слияние.
git merge --squash
Это объединит изменения в рабочем дереве без создания слияния. Когда вы совершаете объединенные изменения, это будет выглядеть как новая "нормальная" фиксация в вашей ветке: без фиксации слияния в истории. Это почти так же, как вы сделали вишневый выбор во всех сложенных изменениях.