2016-03-11 17 views
14

Sto tentando di visualizzare i commit effettuati da un utente specifico e desidero rimuovere le unioni eseguite dall'utente dall'output. Come posso farlo?Visualizza git log senza unione commette

posso controllare per i commit di un utente che utilizza git log --author=<name>, ma non riesco a trovare l'altra parte: \

PS: Unisci i conflitti non accadere nel flusso di lavoro del pronti contro termine in questione, tutti i rami sono Ribasato prima di unire il master in modo che sia sicuro rimuovere il merge commit dall'output, e allo stesso modo, due branch di feature non sono uniti l'uno con l'altro aumentando la possibilità.

+0

E se la fusione avesse avuto un conflitto e avesse dovuto risolverlo? –

+0

@JoePhilllips Ciò non accade nel flusso di lavoro del repository in questione, tutti i rami vengono ridepositati prima di unirli in master. –

+3

usa 'git log --no-merges' – 0xAX

risposta

23

uso

git log --author=<name> --no-merges 

Inoltre l'opzione --first-parent può dare risultato utile per voi:

--first-genitore Seguire soltanto il primo genitore commettere dopo aver visto una fusione commesso. Questa opzione può fornire una panoramica migliore durante la visualizzazione dell'evoluzione di un particolare ramo dell'argomento, poiché l'unione di in un ramo dell'argomento tende ad essere solo di adeguamento all'aggiornamento aggiornato di volta in volta e questa opzione consente di ignorare il singolo commit portato nella cronologia da una tale unione. Non può essere combinato con --bisect.

7

È possibile omettere si fonde con --no-merges:

git log --no-merges --author=<name> 

Vedere la git log manpage per i dettagli.

+0

Grazie per la risposta, +1! Ho accettato la risposta da @ 0xAX, dal momento che ha risposto a questa prima nei commenti :) –