C'è un altro modo generale per andare su questo che non si basa su --first-parent
che sarà utile in determinate situazioni .. utilizzando i filtri di esclusione ramo
git log origin/topic ^origin/master
Questo vi darà un log di origin/topic
con tutti I commit di origin/master
vengono rimossi.
potresti anche aggiungere --no-merges
che nasconderà i commit di unione che potresti o non vorresti.
Un altro suggerimento utile è quello di utilizzare shortlog
anziché log
che ti darà più di un sommario abbreviato che può essere utile per le note di rilascio o la comunicazione di cosa è in un ramo.
Aggiornamento
Dopo aver ri-lettura di questo, in realtà si vorrebbe quasi l'inverso di quello che ho postato; tuttavia finirà per escludere tutto ciò che è su master e foo (git log origin/master ^origin/foo
). Tuttavia puoi anche ottenere quello che chiedi (nascondi tutti i commit che fanno parte delle fusioni) con git log origin/master --no-merges
Quindi, come si può sapere quale di 'D' e' Z' faceva parte del ramo unito? – Romain
Quando uniti dal master, i precedenti commit principali sono i primi genitori in unione. 'git log' permette di visualizzare solo quei commit con' --first-parent', in modo da ottenere il file giusto – CharlesB
possibile duplicato di [Come faccio a eseguire Git Log per vedere le modifiche solo per un ramo specifico?] (http://stackoverflow.com/questions/4649356/how-do-i-run-git-log-to-see-changes-only-for-a-specific-branch) –