2014-10-16 8 views
11

Verwenden Sie die git diff --shortstat my_branch master ist eine gute Möglichkeit zu sagen, wie viele Dateien ändert und die Einfügungen und Löschungen. Ich lese die git diff documentation, aber ich konnte keinen Weg finden, die Anzahl der Commits zwischen my_branch und master zu sagen. Gibt es das?Wie kann ich die Anzahl der Commits zwischen zwei Zweigen zählen?

+0

Fragen Sie nach (#commits auf Master nicht auf my_branch) + (#commits auf my_branch nicht auf Master)? –

Antwort

9

Ich glaube, Sie könnten versuchen:

git log --oneline mybranch^Master

Für die genaue Anzahl:

git log --oneline mybranch^master | wc -l

Sollte Ihnen die gewünschten Informationen geben.

+0

was ist mit dem '^' Zeichen? – JobaDiniz

+0

Es bedeutet, das Protokoll beginnend mit mybranch und endend bei und ohne Master zu wählen. –

1

Eine andere Option. Die Hashes/Zahl sind nur einige Beispiele

$ git checkout my_branch 
$ git cherry master 

+ 950b187c4b28844680df7008cfa3b348c1a46016 
+ 109e427cbe84c3c8fc0ac2fbfb5120bcc2511933 
+ 9bc217c0bcabbd6aa4ba88bbaaad23805994f90d 
+ 74e054614a1bb1c442fbcf53926dcb910097321c 
+ b34ae1ce8a58e0cbdbe1657ebca81a3036d7c72d 

Wird eine Liste geben, von Hashes begehen, die in my_branch sind aber nicht in Master

$ git checkout my_branch 
$ git cherry master | wc -l 
5 

Wird die Zahl der Commits geben, die in my_branch sind aber nicht in Master

Lesen Sie mehr über git cherry here

4

ich dies viel einfacher sein gefunden:

git rev-list --count my-branch ^master 
+0

fehlt .. zwischen Zweigen ab git Version 2.13.5 (Apple Git-94) – Intel

1

Ich konnte nicht etech Antwort auf Arbeit, aber das funktioniert für mich auf OS X:

git rev-list --count master..my-branch 

my-branch können für Änderungen auf dem aktuellen Zweig entfallen.

0

Das gibt mir die Zahl der Commits ich branch_being_merged_in gemacht habe aus branch_A seit Verzweigung:

git log --pretty =% H branch_A..branch_being_merged_in | wc -l

Verwandte Themen