2016-09-02 3 views

ответ

4

Первый подход можно использовать git log:

В самом мерзавца репо:

git log v2.9.0..v2.9.3 --name-only --format="%aN <%aE>" --reverse 
git log <olderTag>..<newerTag> --name-only --format="%aN <%aE>" --reverse 
        ^^ 
        |_ don't forget the two dots. 

(на синтаксисе Git точек, см "What are the differences between double-dot “..” and triple-dot “…” in Git commit ranges?")

Это дает:

Eric Wong <[email protected]> 

daemon.c 
Edward Thomson <[email protected]> 

pretty.c 
t/t6006-rev-list-format.sh 
David Kastrup <[email protected]> 

builtin/blame.c 
René Scharfe <[email protected]> 

t/t4051-diff-function-context.sh 
t/t4051/appended1.c 
t/t4051/appended2.c 
t/t4051/dummy.c 
t/t4051/hello.c 
t/t4051/includes.c 

....

И получить только список уникальных авторов:

git log v2.9.0..v2.9.3 --format="%aN <%aE>" --reverse|sort|uniq 

Это возвращает:

Alex Henrie <[email protected]> 
Alfred Perlstein <[email protected]> 
Andreas Brauchli <[email protected]> 
Andrew Oakley <[email protected]> 
Armin Kunaschik <[email protected]> 
Charles Bailey <[email protected]> 
Charles Bailey <[email protected]> 
Chris Packham <[email protected]> 
Dave Nicolson <[email protected]> 
... 
+0

Спасибо за глядя в нее VonC. Я не получил результатов; Я делал git diff между двумя тегами; Я хочу ТОЛЬКО тех пользователей, которые изменили код между этими двумя тегами. Как git log решить проблему, а не использовать git diff – Deepak

+0

@Deepak, это решит проблему, поскольку в ней перечислены все авторы коммитов между двумя тегами, что означает пользователи, которые изменили код между этими двумя тегами. – VonC

+0

В вашем примере - v2.9.0. .v2.9.3 и два тега ?? – Deepak

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