批量删除github仓库笔记

创建批量删除仓库的token

  • 登录Github,按导航 Settings ---> Developer settings ---> Personal access tokens ---> 点击Generate new token按钮 ---> 勾选delete_repo, 生成一个token(建议尽可能设置小范围,并且操作完成后立即删除该token

删除Python脚本如下

from time import sleep
import requests

# 这里将xxxxxxxx替换为生成的token
headers = {
    "Accept": "application/vnd.github.v3+json",
    "Authorization": "token xxxxxxxx",
    "X-OAuth-Scopes": "repo"
}

with open('./repos.txt', 'r', encoding='utf-8') as f:
    data = f.readlines()

url = "https://api.github.com/repos/{}/{}"
urls = []
for line in data:
    name, repo = line.strip().split("/")
    urls.append(url.format(name, repo))

for l in urls:
    requests.delete(url=l, headers=headers)
    sleep(2)
  • 将上述脚本保存到deleteRepos.py(文件名可以随便取)文件中

构建要删除的仓库列表文件

  • 构建仓库列表文件,并保存为.txt文件,文件格式如下:
username/repo1
username/repo2
username/repo3
  • 将仓库列表文件保存为repo.txt文件,如果不是此名称记得调整脚本

开始批量删除

  • deleteRepos.py文件和repos.txt文件放在同一个文件夹xxx内
  • cd到xxx文件夹内
  • 执行脚本python3 ./deleteRepos.py,等待脚本执行完毕即可

补充:利用正则表达式快速过滤出要删除的仓库列表

  • 我使用的是Sublime Text工具
  • 按导航 Settings - Repositories,拷贝Repositories下的仓库名称,如下图
    过滤前的拷贝的仓库名称列表
  • 利用正则快速过滤出要删除的仓库列表
  • 过滤后的效果如下,部分没有过滤到的手动调整一下
    过滤后的拷贝的仓库名称列表
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容