Итак, вы хотите видеть слияния на пути предка с коммитом, чей первый родительский элемент также не находится на пути предка?
git rev-list --parents --ancestry-path --reverse $commit.. \
| awk BEGIN{seen[$commit]=1}' {seen[$1]=1}
!seen[$2] {print $1}' \
| git log --no-walk --stdin
Это запускает путь предков, сначала самый старый, то есть самый старый коммит с вашим желаемым коммитом сначала как предок, а затем продвигается вперед. Awk помечает ваш желаемый коммит как уже увиденный при запуске, а затем каждый коммит, который он видит в пути. Любой коммит, первого родителя которого еще не видели, гарантированно будет слиянием, которое достигнет вашего коммита только через объединенную историю.