2012-07-26 14 views
49

Ich habe 2 Zweige A und B.git log den Unterschied zwischen 1 Zweig von einem anderen

Jedes Mal, wenn ich einen Build ausführen, Zweig A in Zweig B. verschmolzen wird Ich möchte alle Updates zu der Lage sein, eine E-Mail aus gemacht in A, seit dem letzten Mal, als der Build ausgeführt wurde. Wie kann ich git log verwenden, um alle Commits kopieren zu können, die in A seit dem letzten A -> B Merge gemacht wurden?

Antwort

78

werde das

git log B..A 

sein Z. B. „Alle Commits anzeigen, die in A, aber nicht in B“ Oder, wenn Sie möchten es gegen nicht Ortsvereine tun

git log origin/B..origin/A 
+6

Git-Bereiche: http://git-scm.com/book/ch6-1.html#Commit-Ranges –

+4

@Jakub Ich denke, der richtige Link ist jetzt http://git-scm.com/book/en/v2/Git-Tools-Revision-Auswahl # _commit_ranges – lmsurprenant

17

Eine alternative Syntax wäre zu verwenden:

$ git log refA refB --not refC 

oder in Ihrem Fall von nur zwei Zweige Vergleich

$ git log A --not B 

auch aus dem GIT SCM Commit Ranges Docs

Wenn man zwei Zweige vergleicht, kommt es wirklich auf die Präferenz an. Ich finde das nur etwas lesbarer und muss mich nicht darum sorgen, A...B mit A..B zu verwirren (auch in der Dokumentation erwähnt).

Verwandte Themen