git使用.mailmap文件来规范化作者/提交者的姓名和电子邮件。它也可以用来显示他们所属的组织吗?
发布于 2015-02-22 18:44:54
.mailmap文件将作者姓名和电子邮件映射到单个规范值。例如,如果.mailmap包含:
Chendi Xue <chendi.xue@intel.com> Chendi Xue <xuechendi@gmail.com>
git log --pretty='%aN <%aE>'命令将显示Chendi Xue chendi.xue@intel.com,而不是Chendi Xue xuechendi@gmail.com。将作者映射到组织可以在另一个文件中完成,例如.organizationmap.
git -mailmap命令(需要git 1.9或更高版本)执行与<%aE>对.mailmap执行的相同的转换邮件%,但对任意文件。例如,要显示英特尔组织而不是从属于英特尔的作者,可以创建以下.organizationmap文件:
Intel <contact@intel.com> Yuan Zhou <yuan.zhou@intel.com>
Intel <contact@intel.com> Chendi Xue <chendi.xue@intel.com>
git log命令通过管道传递给git check-mailmap命令,如下所示:
$ git log --pretty='%aN <%aE>' | \
git -c mailmap.file=.organizationmap check-mailmap --stdin
然后,可以通过计算行数来显示每个组织的提交排行榜:
$ git log --pretty='%aN <%aE>' | \
git -c mailmap.file=.organizationmap check-mailmap --stdin | \
sort | uniq -c | sort -rn | nl
...
6 748 Intel <contact@intel.com>
7 361 University of California, Santa Cruz <contact@cs.ucsc.edu>
8 248 UnitedStack <contact@unitedstack.com>
...
其中,第一列是组织的排名,第二列是提交次数。
https://stackoverflow.com/questions/28653559
复制相似问题