TL ; DR : git log origin/master --no-merges
предоставит вам журнал мастера и исключит любые объединенные коммиты (в данном случае x, y, z)
Исходные очки
Есть еще один общий способ сделать это, от которого не зависит, --first-parent
который будет полезен в определенных ситуациях ... с помощью фильтров исключения ветвей
git log origin/topic ^origin/master
Это даст вам журнал origin/topic
со всеми origin/master
удаленными коммитами.
вы также можете добавить, --no-merges
что будет скрывать коммиты слияния, которые вы можете или не хотите.
Другой полезный совет - использовать shortlog
вместо него log
более краткое изложение, которое может быть полезно для примечаний к выпуску или сообщения о том, что в ветке.
Обновление.
После того, как вы перечитаете это, вам действительно захочется почти противоположное тому, что я опубликовал; однако это приведет к исключению всего, что есть в master и foo ( git log origin/master ^origin/foo
). Однако вы также можете получить то, о чем просите (скрыть все коммиты, являющиеся частью слияний), с помощьюgit log origin/master --no-merges
D
иZ
было частью объединенной ветки?