2014-10-16 3 views
11

Использование git diff --shortstat my_branch master - отличный способ рассказать, сколько файлов изменяется, а также вставки и удаления. Я прочитал git diff documentation, но я не смог найти способ сообщить количество совершений между my_branch и master. Это существует?Как я могу подсчитать количество фиксаций между двумя ветвями?

+0

Вы запрашиваете (#commits on master not on my_branch) + (#commits on my_branch не на хозяине)? –

ответ

9

Я думаю, вы могли бы попробовать:

мерзавец журнал --oneline mybranch^мастер

Для точного подсчета:

журнал мерзавец --oneline mybranch^мастер | wc -l

Должно предоставить необходимую информацию.

+0

Что происходит с знаком '^'? – JobaDiniz

+0

Это означает, что нужно выбрать журнал, начинающийся с mybranch и заканчивающийся, и не включая master. –

1

Другой вариант. Хэш/номер только примеры

$ git checkout my_branch 
$ git cherry master 

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

Даст список совершить хэш, которые находятся в my_branch, но не в мастер

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

Даст число фиксаций, которые находятся в my_branch, но не в мастер

подробнее о мерзавца вишни here

4

я нашел, что это будет намного проще:

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

отсутствует .. между ветвями по версии git 2.13.5 (Apple Git-94) – Intel

1

Я не мог получить ответ Etech к работе, но это работает для меня на OS X:

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

my-branch может быть опущен для изменения на текущей ветке.

0

Это дает мне количество фиксаций, которые я сделал в branch_being_merged_in так ветвление от branch_A:

мерзавец войти --pretty =% H branch_A..branch_being_merged_in | wc -l

Смежные вопросы