前言

学习阶段fork或者创建了很多仓库,现在密密麻麻,想要删除但是需要一个个寻找点击确认。
删除需要多次确认这个设计本身是没有任何问题的,但是在这样的场景下却需要一个更加快捷的方案。

查找之后,了解到可以通过脚本的方式调用restful api的方式来进行处理。
点击查看文档:官方restful地址

流程很简单:

  1. 生成具有删除权限的token
  2. 打开命令行,运行命令
curl -XDELETE -H "Authorization: token 占位token" https://api.github.com/repos/账号或组织名称/仓库名称

注意这里请求的是https://api.前缀,而不直接是原来的仓库路径,请求实例

curl -XDELETE -H "Authorization: token ghp_slq6ef3k4DkDyoh6cmKK5MUAsVBSTE0" https://api.github.com/repos/zealpane/git-knowledge

下面详细说明步骤

1. 获取token

访问地址:https://github.com/settings/tokens
在这里插入图片描述
点击Generate new token按钮,选择有效期限
勾选

  • delete_repo Delete repositories

然后点击Generate token,然后复制生成的token即可

2. 基础用法

删除的基本语法如下

curl -XDELETE -H "Authorization: token 占位token" https://api.github.com/repos/账号或组织名称/仓库名称

如果要删除的不多,

3. 批量删除

基本思路就是使用for循环遍历,当然写多行curl也是可以的

@echo off
# 等号后面是具体的仓库名称
set list=Groza code-e

(for %%a in (%list%) do (
   echo https://api.github.com/repos/账号或组织名称/%%a
   curl -XDELETE -H "Authorization: token 我的token" -c c.txt https://api.github.com/repos/账号或组织名称/%%a
))

操作非常顺滑,一下子清爽了很多。
如果仓库实在太多,不想一个一个复制,可以通过这个接口获取所有仓库地址,然后再在本地处理匹配取出目标名称

curl -H "Authorization: token ghp_slq6ef3k4DkDyoh6cmKK5MUAsVBSTE0" https://api.github.com/user/repos > a.txt

4. 其它操作系统思路

如果需要在linux上实现也是一样的思路,curl命令在linux上也是可以使用的。只需要按照linux上的for命令来进行改造即可

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐