TLDR : git log origin/master --no-merges
vous donnera un journal de master et exclura les commits fusionnés ( dans ce cas x, y, z )
Points originaux
Il y a une autre façon générale de procéder qui ne repose pas sur --first-parent
ce qui sera utile dans certaines situations en utilisant les filtres d'exclusion de branches
git log origin/topic ^origin/master
Vous obtiendrez ainsi un journal de origin/topic
avec tous les origin/master
enlevé.
vous pourriez également ajouter --no-merges
qui cachera les commits de fusion que vous pouvez ou ne pouvez pas vouloir.
Une autre astuce pratique consiste à utiliser shortlog
au lieu de log
qui vous donnera plus un résumé abrégé qui peut être pratique pour les notes de version, ou la communication de ce qui est dans une branche.
Mise à jour
Après avoir relu ceci, vous voudriez en fait presque l'inverse de ce que j'ai posté ; cependant, cela finirait par exclure tout ce qui est sur master et foo ( git log origin/master ^origin/foo
) . Cependant, vous pouvez également obtenir ce que vous demandez (cacher toutes les modifications qui font partie des fusions) en utilisant la méthode suivante git log origin/master --no-merges