You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量重命名GitHub仓库?将hdx-scraper前缀改为hdx-pipeline

批量重命名GitHub仓库方案

可用工具情况

GitHub官方UI没有批量重命名仓库的功能,也没有官方推出的专门批量重命名工具。你可以通过GitHub API结合脚本实现批量操作,以下是具体的Python示例。

使用GitHub API批量重命名的示例

前置准备

  1. 生成GitHub个人访问令牌(PAT),需勾选repo权限,确保能读写仓库信息。
  2. 安装requests库:pip install requests

脚本示例

import requests

# 配置信息
GITHUB_TOKEN = "你的GitHub个人访问令牌"
USERNAME = "你的GitHub用户名"
OLD_PREFIX = "hdx-scraper-"
NEW_PREFIX = "hdx-pipeline-"

# 请求头
headers = {
    "Authorization": f"token {GITHUB_TOKEN}",
    "Accept": "application/vnd.github.v3+json"
}

def get_repos_with_prefix():
    """获取所有以指定前缀开头的仓库"""
    repos = []
    page = 1
    while True:
        url = f"https://api.github.com/user/repos?page={page}&per_page=100"
        response = requests.get(url, headers=headers)
        response.raise_for_status()
        page_repos = response.json()
        if not page_repos:
            break
        # 筛选符合前缀的仓库
        for repo in page_repos:
            if repo["name"].startswith(OLD_PREFIX):
                repos.append(repo)
        page += 1
    return repos

def rename_repo(repo):
    """重命名单个仓库"""
    old_name = repo["name"]
    # 替换前缀生成新名称
    new_name = old_name.replace(OLD_PREFIX, NEW_PREFIX, 1)
    if old_name == new_name:
        print(f"仓库 {old_name} 无需重命名")
        return
    # 构造重命名请求URL
    url = f"https://api.github.com/repos/{USERNAME}/{old_name}"
    payload = {"name": new_name}
    response = requests.patch(url, json=payload, headers=headers)
    if response.status_code == 200:
        print(f"成功将 {old_name} 重命名为 {new_name}")
    else:
        print(f"重命名 {old_name} 失败: {response.json().get('message')}")

if __name__ == "__main__":
    target_repos = get_repos_with_prefix()
    if not target_repos:
        print(f"未找到以 {OLD_PREFIX} 开头的仓库")
    else:
        print(f"找到 {len(target_repos)} 个需要重命名的仓库")
        for repo in target_repos:
            rename_repo(repo)

注意事项

  • 运行脚本前建议先测试:注释掉rename_repo的调用,只打印找到的仓库列表,确认无误后再执行重命名。
  • 仓库重命名后,原Git远程地址会自动跳转,但需通知协作成员更新本地仓库的远程URL。
  • 不要将个人访问令牌硬编码在脚本中,可通过环境变量管理,避免令牌泄露。

内容的提问来源于stack exchange,提问作者mcarans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:34:55