背景
正常情况下,如果需要删除GitHub上不需要的repos,手动删除的操作有点繁琐。如果只要删除一个还能接受,手动删除多个repos就有点浪费时间了。其实我们可以通过GitHub的API接口来批量删除不需要的repos。
实现
vim gitrep
添加一下信息 (你的用户名/项目名称)
shengding1214/advanced-git
shengding1214/animated-resume
shengding1214/Awesome-CV
shengding1214/axios
shengding1214/best-chinese-front-end-blogs
shengding1214/blog
shengding1214/bookKeeping
如果仓库较多可以通过github的API来批量获取
import https from 'https';
let chunk = ''
https.get('https://api.github.com/users/你的github用户名/repos?page=1&per_page=100', {
headers: {
'User-Agent': 'request'
}
},res => {
res.on('data', d => {
chunk += d.toString();
})
res.on('end', () => {
JSON.parse(chunk).forEach(item => {
console.log(item.full_name)
})
})
})
在GitHub上申请具有删除repos权限的token
vim delete.sh
cat gitrep | while read line || [[ -n ${line} ]]
do
curl -XDELETE -H "Authorization: token $1" "https://api.github.com/repos/$line";
echo "del--- https://api.github.com/repos/$line---"
done
给脚本执行权限
chmod +x delete.sh
执行脚本(将上边生成的token当做参数传给shell)
./delete.sh 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(你的token)
控制台将打印如下信息: