如何通过控制台按作者统计已合并的Pull Requests数量?
统计特定作者已合并Pull Requests数量的正确方法
你用git shortlog --summary --numbered --all得到的是提交次数,不是合并的PR数量——毕竟一个PR可能包含多个提交,所以数字和GitHub贡献页对不上很正常。Git本身没有原生命令直接统计PR,因为PR是GitHub的平台特性,不属于Git核心功能。给你两个靠谱的解决办法:
方法一:用GitHub CLI(最准确)
GitHub官方的CLI工具gh能直接调用API统计PR,步骤如下:
- 先安装
gh并登录(执行gh auth login按提示操作) - 执行命令统计:
gh pr list --repo OpenFeign/feign --state merged --author "你的GitHub用户名" --limit 1000 | wc -l
--state merged:只筛选已合并的PR--author:指定要统计的GitHub用户名--limit 1000:避免因为PR数量过多被截断,可按需调整wc -l:统计输出的行数,就是PR的总数
方法二:用git log结合PR提交特征(有局限性)
如果不想用gh,可以利用GitHub合并PR时的提交信息特征来筛选:
- 普通合并(保留分支提交)的PR,合并提交会包含
Merge pull request #XXX字样,执行:
git log --grep="Merge pull request #[0-9]*" --author="你的Git提交用户名" --oneline | wc -l
- squash合并(将PR所有提交压缩成一个)的PR,提交信息通常会包含
Close #[0-9]*,执行:
git log --grep="Close #[0-9]*" --author="你的Git提交用户名" --oneline | wc -l
注意:这个方法的准确性依赖提交信息格式,如果你手动提交里也有类似关键词,会导致统计误差,而且要确保--author后面的名字和你Git提交时用的完全一致(可能和GitHub用户名不同)。
内容的提问来源于stack exchange,提问作者Sergei Korneev
相关产品推荐
相关产品推荐

