【问题标题】:Git diff between two tags with username带有用户名的两个标签之间的Git差异
【发布时间】:2017-01-10 04:12:19
【问题描述】:

我可以做到以下几点:

git diff tag1 tag2 --stat

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

【问题讨论】:

    标签: git github git-diff


    【解决方案1】:

    第一种方法可以使用git log

    在 git repo 本身中:

     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
    

    返回:

    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>
    ...
    

    【讨论】:

    • 感谢您调查 VonC。我没有得到结果;我在两个标签之间做 git diff ;我只想要那些修改了这两个标签之间代码的用户.. git log 将如何解决问题而不使用 git diff
    • @Deepak 它将解决这个问题,因为它列出了两个标签之间的所有提交作者,这意味着修改了这两个标签之间的代码的用户。
    • 在您的示例中是 v2.9.0。 .v2.9.3 和两个标签 ??
    • 是的,用你自己的标签替换它们。
    • @Deepak 你把'..'放在两个标签之间了吗? git log release-20160823-262..release-20160831-266 --format="%aN &lt;%aE&gt;" --reverse|sort|uniq?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多