You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找添加或删除代码行数最多的GitHub PR?

按代码增删行数排序GitHub PR的实用方法

方法一:GitHub CLI + 脚本批量处理

  • 先安装GitHub命令行工具(gh),完成登录(执行gh auth login跟着提示操作即可)
  • 导出目标仓库所有PR的关键数据到JSON文件:
    gh pr list --repo 你的用户名/仓库名 --state all --json number,title,additions,deletions --prune > pr_stats.json
    
    这个命令会拉取所有状态的PR(包括已合并、关闭的),并提取编号、标题、新增/删除行数
  • 用jq工具快速排序(未安装jq的话先通过包管理器安装):
    • 按新增行数降序:jq 'sort_by(-.additions)' pr_stats.json
    • 按删除行数降序:jq 'sort_by(-.deletions)' pr_stats.json
      输出结果会直接按行数从多到少排列所有PR

方法二:GitHub API + 自定义脚本统计

如果需要更灵活的输出格式,直接调用GitHub API写个简单脚本:

import requests

# 替换成你的仓库信息和个人访问令牌
REPO = "你的用户名/仓库名"
TOKEN = "你的GitHub个人访问令牌"
API_URL = f"https://api.github.com/repos/{REPO}/pulls?state=all&per_page=100"

headers = {"Authorization": f"token {TOKEN}"}
response = requests.get(API_URL, headers=headers)
pr_list = response.json()

# 按新增行数降序排序,想按删除行数就把additions换成deletions
sorted_prs = sorted(pr_list, key=lambda pr: pr["additions"], reverse=True)

# 打印排序后的结果
for pr in sorted_prs:
    print(f"PR #{pr['number']} | {pr['title']}")
    print(f"新增行数: {pr['additions']} | 删除行数: {pr['deletions']}\n")

提示:如果仓库PR超过100个,需要处理API的分页逻辑(查看响应头里的Link字段)

方法三:仓库贡献洞察(间接参考)

如果只是想了解整体代码改动量的分布,可直接进入仓库的Insights > Contributors页面,这里能看到每个开发者的累计增删行数,但没法直接对应到单个PR,适合做全局贡献参考。

内容的提问来源于stack exchange,提问作者Elye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:42:51