自给定提交以来git中的作者列表
我想要一种列出所有git作者的方法自给定提交以来git中的作者列表,git,Git,我想要一种列出所有git作者的方法 仅自给定的提交之后 这是独一无二的 这两种方法都很简单,我在网上看到了一些解决方案,大多数都使用git log--format。但我看到的都不符合附加要求: 按提交日期排序。所以,如果约翰·史密斯在艾伦·默勒之前犯了罪,他的名字应该出现在我的名字之前(我是艾伦·默勒) 邮件地图。据我所知,只有GitShortLog能做到这一点,而且它提供了一堆我不想要的额外东西。但也许我错了。或者你们中那些比我更擅长使用sed和朋友的人也会使用它 (顺便问一下,我如何使降价不
git log--format
。但我看到的都不符合附加要求:
我还需要一种按姓氏排序的方法,但这相对简单。以下格式说明符将解决您的第二个问题: %安:作者姓名(关于.mailmap)
%aE:作者电子邮件(尊重.mailmap)
%cN:提交人名称(关于.mailmap)
%cE:提交者电子邮件(关于.mailmap) 因此,不考虑重复作者部分,您需要
git log <commit>.. --format="%aN <%aE>" --reverse
git日志--format=“%aN”--反向
我怀疑您可以通过某种方式来实现基于哈希表的重复数据消除,perl oneliner将是微不足道的:
git log <commit>.. --format="%aN <%aE>" --reverse | perl -e 'my %dedupe; while (<STDIN>) { print unless $dedupe{$_}++}'
git日志--format=“%aN”--反向| perl-e”我的%dedupe;while(){print inspect$dedupe{$\u}++}'
需要“全球统计”的人注意:
提供作者提交的全局统计信息。谢谢。实际上,我不想要
部分,但这很容易删除,而且很容易了解。过去50次提交中的唯一作者:git log HEAD~50--format=“%aN”--reverse | sort | uniq
@cxreg,既然可以使用sort-u
,为什么还要使用perl脚本呢。i、 例如,git日志--format=“%aN”--反向排序-u
。从这些解决方案中,使用sort不会保留提交顺序,这是需求1,也是我使用perl oneliner的原因
git shortlog -s -n -e