Skip to main content

github批量删除项目

在 GitHub 上批量删除历史项目可以通过 GitHub API 脚本或使用 GitHub CLI(gh)来实现。以下是使用这两种方法的详细步骤。

方法一:使用 GitHub API 脚本

  1. 生成个人访问令牌

    • 登录到 GitHub。
    • 转到 Settings -> Developer settings -> Personal access tokens
    • 生成一个新的令牌,确保勾选 repo 范围,以便拥有删除仓库的权限。
  2. 创建 Python 脚本

    • 安装 requests 库:pip install requests
    • 创建一个 Python 脚本,例如 delete_repos.py
    import requests

    # 替换为你的GitHub用户名和个人访问令牌
    GITHUB_USERNAME = 'your_username'
    GITHUB_TOKEN = 'your_personal_access_token'

    # 仓库名称列表
    repos_to_delete = [
    'repo1',
    'repo2',
    'repo3'
    # 加入更多仓库名称
    ]

    for repo in repos_to_delete:
    url = f'https://api.github.com/repos/{GITHUB_USERNAME}/{repo}'
    response = requests.delete(url, auth=(GITHUB_USERNAME, GITHUB_TOKEN))

    if response.status_code == 204:
    print(f'Successfully deleted {repo}')
    else:
    print(f'Failed to delete {repo}: {response.status_code}, {response.text}')
  3. 运行脚本

    • 在终端或命令行中运行脚本:python delete_repos.py

方法二:使用 GitHub CLI(gh)

  1. 安装 GitHub CLI

  2. 登录 GitHub CLI

    • 运行 gh auth login 并按照提示进行身份验证。
  3. 批量删除仓库

    • 创建一个包含仓库名称的文本文件,例如 repos.txt

      repo1
      repo2
      repo3
      # 加入更多仓库名称
    • 创建一个 Shell 脚本,例如 delete_repos.sh

      #!/bin/bash

      # 替换为你的GitHub用户名
      GITHUB_USERNAME="your_username"

      while IFS= read -r repo; do
      gh repo delete "$GITHUB_USERNAME/$repo" --confirm
      done < repos.txt
    • 赋予脚本执行权限并运行:

      chmod +x delete_repos.sh
      ./delete_repos.sh

以上两种方法都可以有效地批量删除 GitHub 上的历史项目。根据你的需求选择适合的方法。请注意,删除操作是不可逆的,请确保你真的不再需要这些仓库。

alt text alt text alt text