Git 具有用户名的两个标签之间的差异

Git diff between two tags with username

我可以做到以下几点:

git diff tag1 tag2 --stat

但这给了我文件列表..我怎么知道所有在这两个标签之间工作的用户!

第一种方法可以使用 git log:

在 git 回购本身中:

 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 <e@80x24.org>

daemon.c
Edward Thomson <xx@xx>

pretty.c
t/t6006-rev-list-format.sh
David Kastrup <xx@gxx>

builtin/blame.c
René Scharfe <xx@xx>

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

那个returns:

Alex Henrie <xx@xx.com>
Alfred Perlstein <xx@xx.org>
Andreas Brauchli <a.xx@xx.net>
Andrew Oakley <xx@xx.com>
Armin Kunaschik <xx@xx.com>
Charles Bailey <xx@xx.net>
Charles Bailey <xx@xx.org>
Chris Packham <xx@xx.com>
Dave Nicolson <xx@xx.com>
...