用 Github CLI 删除仓库

一句命令行删除 Github 上的仓库,让删库跑路更简单。

背景

组织的仓库太多了。但我不喜欢在我的账户里保留太多仓库。我一般随用随 fork, pull request 被合并后就删仓库。

但在网页上删除仓库实在有点繁琐:

  1. 先要找到那个仓库
  2. 再点击设置
  3. 再点击删除
  4. 再点击删除对话框里的 “I want to delete the repository”
  5. 再点击删除对话框里的 “I have read and understand these effects”
  6. 最后还得输入或者复制仓库名进行确认。

要是再加上网络偶尔抽风,以上过程就更折磨了。

解决方法

Github 有一款工具叫 Github CLI,我之前一般用来克隆仓库和看 PR,突发奇想或许 Github CLI 可以删除仓库,查了一下 Manual 果然有。

gh repo delete

官方文档 gh repo delete

获取权限

要先获取 delete_repo 权限,按提示操作,获取一次即可。

1
gh auth refresh -s delete_repo

删除仓库

1
gh repo delete [<repository>] [flags]

命令也简单,只输入 gh repo delete 的话就是删除当前仓库。也可以指定仓库。

加上 --yes 无需确认,直接删除。不加的话会让你确认。

示例

1
2
3
4
gh repo delete
gh repo delete example-repo
gh repo delete username/example-repo
gh repo delete username/example-repo --yes

警告:注意谨慎操作,别删错了。

差点删库跑路

真是怕什么来什么,差点就把组织的代码库给删了。还好恰好我没有这个库的权限。

建议显式指定要删除的仓库及所属用户,以避免误操作,例如:

1
gh repo detele username/example-repo --yes
Built with Hugo
Theme Stack designed by Jimmy