{"id":25563532,"url":"https://github.com/rexhang/delete-github-repo","last_synced_at":"2025-06-14T21:06:31.083Z","repository":{"id":277874250,"uuid":"933788821","full_name":"rexhang/delete-github-repo","owner":"rexhang","description":"batch delete personal GitHub repositories.","archived":false,"fork":false,"pushed_at":"2025-02-16T17:41:10.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T07:14:50.181Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rexhang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-16T17:35:55.000Z","updated_at":"2025-02-16T17:37:40.000Z","dependencies_parsed_at":"2025-02-16T18:41:54.910Z","dependency_job_id":null,"html_url":"https://github.com/rexhang/delete-github-repo","commit_stats":null,"previous_names":["rexhang/delete-github-repo"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rexhang/delete-github-repo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexhang%2Fdelete-github-repo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexhang%2Fdelete-github-repo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexhang%2Fdelete-github-repo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexhang%2Fdelete-github-repo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rexhang","download_url":"https://codeload.github.com/rexhang/delete-github-repo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexhang%2Fdelete-github-repo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259884468,"owners_count":22926444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-20T20:26:47.862Z","updated_at":"2025-06-14T21:06:31.064Z","avatar_url":"https://github.com/rexhang.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub 仓库批量删除工具\r\n\r\n这是一个用于快速删除 GitHub 上多个仓库的 PowerShell 脚本工具。通过读取仓库列表文件和 GitHub Token 文件，脚本可以自动批量删除指定的仓库，适合需要清理大量仓库的场景。\r\n\r\n---\r\n\r\n## **功能**\r\n1. **批量删除仓库**：通过读取 `repos.txt` 文件中的仓库列表，自动删除多个 GitHub 仓库。\r\n2. **自动清理输入**：脚本会自动清理 `repos.txt` 文件中的多余空格和空行，确保仓库名称格式正确。\r\n3. **Token 文件支持**：从 `github-delete-token.txt` 文件中读取 GitHub 个人访问令牌（PAT），无需硬编码到脚本中。\r\n4. **错误处理**：\r\n   - 如果仓库名称格式不正确，脚本会跳过并提示错误。\r\n   - 如果删除失败（例如权限不足或仓库不存在），脚本会捕获并显示错误信息。\r\n5. **一键运行**：通过 `.cmd` 批处理文件，双击即可运行脚本，无需手动输入命令。\r\n\r\n---\r\n\r\n## **使用方法**\r\n\r\n### **1. 创建 GitHub 个人访问令牌（PAT）**\r\n1. 登录 GitHub，点击右上角头像，进入 **Settings**。\r\n2. 在左侧菜单中选择 **Developer settings**。\r\n3. 点击 **Personal access tokens**，然后选择 **Tokens (classic)**。\r\n4. 点击 **Generate new token**，然后选择 **Generate new token (classic)**。\r\n5. 在权限设置中，勾选 `repo` 和 `delete_repo` 权限（用于访问和删除仓库）。\r\n6. 点击 **Generate token**，生成后复制 Token 并保存到 `github-delete-token.txt` 文件中。\r\n   - **注意**：Token 只会显示一次，请妥善保存。\r\n\r\n### **2. 准备工作**\r\n1. 在脚本目录下创建以下文件：\r\n   - `repos.txt`：列出要删除的仓库，每行一个，格式为 `用户名/仓库名`。\r\n   - `github-delete-token.txt`：存放 GitHub 个人访问令牌（PAT）。\r\n2. 确保 GitHub Token 具有 `repo` 和 `delete_repo` 权限。\r\n\r\n### **3. 文件结构**\r\n```\r\nDeleteRepos/\r\n│\r\n├── repos.txt                # 仓库列表文件\r\n├── github-delete-token.txt # GitHub Token 文件\r\n├── delete_repos.ps1         # PowerShell 脚本\r\n├── delete_repos.cmd         # 批处理文件\r\n└── README.md                # 说明文档\r\n```\r\n\r\n### **4. 运行脚本**\r\n1. 双击运行 `delete_repos.cmd`。\r\n2. 脚本会自动读取 `repos.txt` 中的仓库列表并逐个删除。\r\n3. 删除完成后，脚本会显示结果。\r\n\r\n---\r\n\r\n## **文件说明**\r\n\r\n### **1. `repos.txt`**\r\n- 格式：每行一个仓库，格式为 `用户名/仓库名`。\r\n- 示例：\r\n  ```\r\n  myusername/repo1\r\n  myusername/repo2\r\n  myusername/repo3\r\n  ```\r\n\r\n### **2. `github-delete-token.txt`**\r\n- 内容：GitHub 个人访问令牌（PAT）。\r\n- 注意：确保文件内容只有 Token 本身，没有多余的空格或换行。\r\n\r\n### **3. `delete_repos.ps1`**\r\n- PowerShell 脚本，用于读取文件并删除仓库。\r\n\r\n### **4. `delete_repos.cmd`**\r\n- 批处理文件，用于一键运行 PowerShell 脚本。\r\n\r\n---\r\n\r\n## **注意事项**\r\n1. **备份数据**：删除仓库是不可逆操作，请提前备份重要数据。\r\n2. **Token 安全**：确保 `github-delete-token.txt` 文件安全，避免泄露。\r\n3. **权限检查**：确保 GitHub Token 具有 `repo` 权限。\r\n\r\n---\r\n\r\n## **示例**\r\n\r\n### **1. `repos.txt` 示例**\r\n```\r\nmyusername/old-repo1\r\nmyusername/old-repo2\r\nmyusername/nonexistent-repo\r\ninvalid-repo-format\r\n```\r\n\r\n### **2. 运行结果示例**\r\n\r\n#### **成功删除**\r\n```\r\nStarting GitHub repository deletion...\r\nDeleted repository: myusername/old-repo1\r\nDeleted repository: myusername/old-repo2\r\nDeletion process completed.\r\n```\r\n\r\n#### **部分成功，部分失败**\r\n```\r\nStarting GitHub repository deletion...\r\nDeleted repository: myusername/old-repo1\r\nFailed to delete repository: myusername/nonexistent-repo - 404 Not Found\r\nInvalid repository format: invalid-repo-format (expected format: username/repo)\r\nDeletion process completed.\r\n```\r\n\r\n#### **全部失败**\r\n```\r\nStarting GitHub repository deletion...\r\nFailed to delete repository: myusername/nonexistent-repo - 404 Not Found\r\nInvalid repository format: invalid-repo-format (expected format: username/repo)\r\nDeletion process completed.\r\n```\r\n\r\n---\r\n\r\n## **贡献**\r\n如果你有任何改进建议或发现问题，欢迎提交 Issue 或 Pull Request！\r\n\r\n---\r\n\r\n## **许可证**\r\n本项目基于 [MIT 许可证](LICENSE) 开源。\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frexhang%2Fdelete-github-repo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frexhang%2Fdelete-github-repo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frexhang%2Fdelete-github-repo/lists"}