Насколько я знаю, вы не можете git merge таким образом. Merge предназначен для объединения двух ветвей, имеющих общую историю, а не для сбора нескольких коммитов или серии патчей. Я чувствую, что сбор вишни - это то, что вы просите.
Вы можете использовать git cherry (не cherry-pick !), Чтобы узнать, какие коммиты должны быть вставлены в вашу ветку, затем git cherry-pick их. Вы также можете явно попросить git cherry-pick записать происхождение этих коммитов в случае, если вы выбираете вишню из публичной ветки. Это, вероятно, лучший способ справиться с этой проблемой. (Другой вариант - экспортировать их через git format-patch , а затем импортировать их с помощью git-am / git-apply, но это, вероятно, будет медленнее, плюс он не будет записывать происхождение коммитов .)
РЕДАКТИРОВАТЬ: «Public» (ветвь) следует понимать как нечто, не подлежащее редактированию истории. Конечно, вы можете сделать это при разработке программного обеспечения с закрытым исходным кодом без открытого кода.