本文已参与「新人创作礼」活动,一起开启掘金创作之路。
本文介绍如何批量删除github中自己的repos,当然,这里就是因为你需要删除的repo太多了,所以才会考虑到用脚本或者api的方法来删除的。我最近就是想整理一下之前的repos,很多不需要的,结果找半天github界面和文档都没找到也是醉了。。。官方就不能提供一个简单版本来操作一下吗,,,有点搞不懂。好了,下面是如何批量删除的方法:
github批量删除repo
第一步. 准备一个文件repos.txt,然后填进要删除的repos,下面username就是你的github账号名,repo_name就是你要删除的repo的名字:
username\repo_name1
username\repo_name2
如果要删的repo很多,不想手动填,可以看以下三步,否则跳过。
1.1. 准备要删的repo很多的时候,可以用chrome打开你的repo地址: https://github.com/username?tab=repositories,然后顺着点需要删除的repo(这时候浏览器里面全是各个repo的tab)
1.2. 安装chrome插件onetab:https://chrome.google.com/webstore/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall,然后使用onetab把上面的repos导出成一个list,保存为文件: repos.txt
1.3. 将每个地址缩减为:“username\repo_name”,即:删掉https://xxxx, 并且删掉 | 后面的东西。可以用sublime正则删除,
第二步. 在自己的github里申请一个临时私钥:github.com/settings/to…
其实github提供了一些api的,只不过一般情况下我们都不会用,不过通过这次批量删除,我算是打开了新的github世界大门。利用这些api可以自动化很多事情,下次再写吧。还要吐槽下,国内的博客的确没找到什么好资源来讲这个事情。
第三步. 将申请到的私钥替换掉下面语句中的 xxx。
将下面这句保存到一个delete.sh文件中,然后执行sh delete.sh
while read r;do curl -XDELETE -H 'Authorization: token xxx' "https://api.github.com/repos/$r ";done < repos.txt
万事大吉。