如何删除GitHub仓库的部署历史 仅展示活跃部署记录
如何删除GitHub中仓库的部署历史,以仅展示活跃部署记录?

GitHub目前没有提供一键清空所有非活跃部署记录的内置功能,你可以根据待删除记录的量级,选择以下两种方式操作:
手动删除(适合少量待删记录)
- 进入目标仓库主页,在右侧边栏找到「Deployments」入口点击进入部署列表页
- 定位到需要删除的非活跃部署条目,点击进入该部署的详情页面
- 点击详情页右上角的
Delete deployment按钮,按照弹窗提示确认操作即可删除对应记录
注意:如果部署绑定了对应环境,删除部署记录不会同步删除环境配置,需要删除环境的话可以到仓库「Settings > Environments」页面操作。
批量删除(适合大量旧部署记录)
如果待删除的旧部署数量较多,手动操作效率太低,可以通过GitHub官方API批量处理:
- 先打开GitHub个人设置,进入「Developer settings > Personal access tokens」页面,生成一个勾选了
repo_deployment权限的个人访问令牌(PAT),妥善保存生成的令牌值 - 拉取仓库全量部署列表,参考命令如下,替换其中的占位符为你自己的信息:
curl -H "Authorization: token 你的个人访问令牌" \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/repos/你的GitHub用户名/目标仓库名/deployments
- 从接口返回的结果中,筛选出所有
state字段值不是active的非活跃部署ID,逐个调用删除接口即可:
curl -X DELETE \ -H "Authorization: token 你的个人访问令牌" \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/repos/你的GitHub用户名/目标仓库名/deployments/待删除的部署ID
批量操作前建议先把拉取到的部署列表数据备份,避免误删需要留存的记录。如果熟悉脚本编写,也可以写简单的遍历逻辑自动完成筛选和删除操作,进一步提升效率。
内容的提问来源于stack exchange,提问作者EhsaN Karimi
相关产品推荐
相关产品推荐

