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

如何将GitHub仓库的issues与discussions克隆迁移到其他仓库

仓库Issues与Discussions跨仓库迁移解决方案

以下方案同时支持公开/私有源仓库A向私有目标仓库B的迁移,可完整同步两类数据的正文、评论、标签、关联元信息。

方案1:GitHub CLI + 官方迁移扩展(推荐,适配绝大多数场景)

  • 先安装GitHub CLI工具gh,完成身份认证:执行gh auth login,按照提示完成账号权限认证,需要授予账号repo读写、discussions读写的完整权限,认证账号需同时拥有源仓库A的读取权限、目标仓库B的写入权限。
  • 安装官方迁移扩展:执行gh extension install github/gh-migration
  • 生成迁移清单,指定需要迁移的数据类型:
    gh migration generate --source <仓库A所有者/仓库A名> --target <仓库B所有者/仓库B名> --include issues --include discussions
    
  • 核对生成的迁移清单内容无误后,执行迁移命令即可完成同步:gh migration apply
    提示:迁移完成后数据默认按照原创建时间排序,不会统一显示为迁移时间

方案2:GitHub API手动同步(适合需要自定义迁移规则的场景)

如果需要过滤迁移内容、修改数据格式后再导入,可以自行调用API实现:

  • 拉取源仓库全量数据:
    • Issues数据调用REST API获取:接口地址为GET /repos/{owner}/{repo}/issues,携带state=all参数可获取已关闭、已打开的全部Issues,同时可拉取关联的评论、标签、里程碑信息
    • Discussions数据需要调用GraphQL API查询,可一次性获取讨论的分类、正文、回复、点赞、关联Issue等全量元数据
  • 将拉取到的数据格式化后,调用目标仓库的对应写入接口逐条导入,可在内容首部标注原作者、原创建时间保留溯源信息。

迁移失败常见排查点

Discussions迁移后无数据优先检查两个配置:

  1. 目标仓库B是否在仓库设置中开启了Discussions功能,私有仓库默认不会自动开启该功能
  2. 认证账号是否拥有目标仓库的Discussions写入权限,仅仓库普通读写权限无法操作Discussions数据,需要单独授予讨论管理权限

内容的提问来源于stack exchange,提问作者이준혁

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:45:04