首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
V2EX  ›  git

如何导出全部的 git repo

  •  
  •   zhiiker · 8 天前 · 541 次点击

    官方导出数据的功能有点问题,repo 上百个就会失败,试了好几次。 需要导出所有的 bare repositories

    8 回复  |  直到 2019-10-10 13:50:03 +08:00
        1
    pmispig   8 天前
    我自己是用 python 调用 gitlab 的接口,获取所有 repo 的 ssh 地址,然后再 git clone --mirror
        2
    jackleeforce3615   8 天前
    哪里导哪里? gitlab?github?bitbucket?
        3
    zhiiker   8 天前
    @jackleeforce3615 #2 github 批量导出到本地,再批量备份到 gitlab
        4
    zhiiker   8 天前
    @pmispig #1 如何实现获取 github 的所有 repo 地址?不过这样四百多个 repo 不能保证每个都 clone 完整
        5
    pmispig   8 天前
    @zhiiker 保证 clone 完整是 git 这个工具的问题,为啥不能保证完整?
    所有 repo 地址自己用爬虫实现呗
        6
    jackleeforce3615   8 天前   ♥ 1
    @zhiiker

    在本地操作吧,写个脚本把 github 上的仓库用 git clone --bare 命令批量弄下来,具体命令参考:[git-clone]( https://git-scm.com/docs/git-clone),然后把 clone 下来的所有文件夹拷贝到 gitlab 服务器上,再通过 [Import bare repositories into your GitLab instance]( https://docs.gitlab.com/ee/raketasks/import.html)方式导入到 gitlab 仓库。
        7
    zhiiker   8 天前
    @pmispig #5 国内复杂的网络原因,经常会出现中断,repo 数量一大就很难知道哪个出错
        8
    Deteriorator   8 天前
    @zhiiker 用国外的小鸡 clone,然后再打包下载
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4249 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 06:31 · PVG 14:31 · LAX 23:31 · JFK 02:31
    ♥ Do have faith in what you're doing.