用 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

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

差点删库跑路

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

建议还是要显式指定要删除的用户名和仓库,或者不要加 --yes。 不然删错了真出事。

delete repo