使用本地脚本批量删除GitHub仓库操作指南

在管理GitHub仓库时,可能会遇到需要批量删除多个仓库的情况。本文档将指导您如何使用GitHub CLI和Shell脚本来实现使用本地脚本批量删除GitHub仓库操作。
客户端脚本工具:git bash 和 Windows PowerShell


image.png

image.png

前提条件

  1. 安装GitHub CLI

    • Windows:使用wingetchoco安装。
      winget install --id GitHub.cli
      
      choco install gh
      
    • macOS:使用Homebrew安装。
      brew install gh
      
    • Linux:使用包管理器安装。
      sudo apt install gh  # 适用于Debian/Ubuntu
      sudo dnf install gh  # 适用于Fedora
      
  2. 生成GitHub个人访问令牌(token)

1. **登录 GitHub**:进入你的账户。
2. **打开设置**:点击头像,选择“Settings”。
3. **开发者设置**:在左侧菜单,点击“Developer settings”。
4. **访问令牌**:选择“Personal access tokens”。
5. **生成新令牌**:点击“Generate new token”。
6. **设置权限**:输入令牌名称,勾选`repo`权限。
7. **创建令牌**:点击“Generate token”,并**立即保存**令牌。
> **提示**:妥善保管令牌,它具有管理你仓库的权限。

操作步骤

1. 登录GitHub CLI

在命令提示符中输入以下命令以登录到GitHub:

gh auth login
登录成功

说明:依据提示选择打开浏览器授权登录或者SSH key登录都可以,这里选择的是SSH key登录。

2. 编写批量删除脚本

while read repo; do
  # 去除行末的回车符
  repo=$(echo "$repo" | tr -d '\r')
  # 删除仓库
  gh repo delete "your-username/$repo" --yes
done < repos.txt

说明:如果在Windows环境下编辑文本文件,可能会遇到行尾包含\r\n(回车和换行)的问题
而不是Unix/Linux系统中的单纯\n(换行)。parse "https://api.github.com/repos/*******\r": net/url: invalid control character in URL 这可能导致在某些脚本或工具中出现\r字符的解析错误,所以我们加上这行代码:repo=$(echo "$repo" | tr -d '\r')去除该回车符。

3. 运行脚本

确保repos.txt文件与脚本在同一目录下,然后在git bash终端中执行以上批量删除仓库的脚本命令。该脚本将逐行读取repos.txt中的仓库名称,并使用GitHub CLI删除每个仓库。

执行结果

注意事项

备份数据:在删除仓库之前,请确保已经备份了所有重要数据,因为删除操作是不可逆的。
确认仓库名称:确保repos.txt中的仓库名称是正确的,以避免误删。
处理换行符:在Windows环境下,确保去除每行末尾的\r字符,以避免解析错误。
通过以上步骤,您可以高效地批量删除GitHub仓库。请务必小心操作,确保数据安全。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容