如何导出全部的 git repo

2019-10-09 23:24:42 +08:00
 zhiiker

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

3648 次点击
所在节点    git
8 条回复
pmispig
2019-10-10 09:22:38 +08:00
我自己是用 python 调用 gitlab 的接口,获取所有 repo 的 ssh 地址,然后再 git clone --mirror
jackleeforce3615
2019-10-10 09:24:47 +08:00
哪里导哪里? gitlab?github?bitbucket?
zhiiker
2019-10-10 09:26:32 +08:00
@jackleeforce3615 #2 github 批量导出到本地,再批量备份到 gitlab
zhiiker
2019-10-10 09:28:33 +08:00
@pmispig #1 如何实现获取 github 的所有 repo 地址?不过这样四百多个 repo 不能保证每个都 clone 完整
pmispig
2019-10-10 09:30:59 +08:00
@zhiiker 保证 clone 完整是 git 这个工具的问题,为啥不能保证完整?
所有 repo 地址自己用爬虫实现呗
jackleeforce3615
2019-10-10 09:33:22 +08:00
@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 仓库。
zhiiker
2019-10-10 09:41:58 +08:00
@pmispig #5 国内复杂的网络原因,经常会出现中断,repo 数量一大就很难知道哪个出错
Deteriorator
2019-10-10 13:50:03 +08:00
@zhiiker 用国外的小鸡 clone,然后再打包下载

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/607663

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX