TLDR : git log origin/master --no-merges
gibt Ihnen ein Protokoll des Masters und schließt alle zusammengeführten Commits aus (in diesem Fall x, y, z).
Ursprüngliche Punkte
Es gibt einen anderen allgemeinen Weg, der nicht davon abhängt, --first-parent
welcher in bestimmten Situationen hilfreich ist. Verwenden Sie die Zweigausschlussfilter
git log origin/topic ^origin/master
Dadurch erhalten Sie ein Protokoll, in dem origin/topic
alle origin/master
Commits entfernt wurden.
Sie können auch hinzufügen, --no-merges
welche Zusammenführungs-Commits ausgeblendet werden, die Sie möglicherweise möchten oder nicht.
Ein weiterer praktischer Tipp ist, shortlog
stattdessen log
eine abgekürzte Zusammenfassung zu verwenden, die für Versionshinweise oder die Kommunikation der Inhalte in einem Zweig nützlich sein kann.
Update
Nachdem Sie dies erneut gelesen haben, möchten Sie tatsächlich fast das Gegenteil von dem, was ich gepostet habe. es würde jedoch alles ausschließen, was sich auf master und foo ( git log origin/master ^origin/foo
) befindet. Sie können jedoch auch das bekommen, wonach Sie fragen (alle Commits ausblenden, die Teil von Zusammenführungen sind)git log origin/master --no-merges
D
undZ
Teil des fusionierten Zweigs war?