极狐GitLab 正式推出面向 GitLab 老旧版本(12.x、13.x、14.x、15.x 等)免费用户的专业升级服务,点击查看详情

返回列表 发布新帖

从 GitHub 镜像到极狐GitLab

36 0
发表于 昨天 15:46 | 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

最近 GitHub 封禁中国用户的事情闹得沸沸扬扬,虽然官方发布的报道说中国用户被限制登录是因为配置错误导致,已经撤回了更新,中国用户已经可以正常使用。但是这就像横在国内开发者和企业头上的“达摩克利斯之剑”。为了避免 GitHub 不可用而带来的影响,国内开发者和企业可以有两种应对之策:完全迁移到极狐GitLab 和将 GitHub 仓库镜像到极狐GitLab。

关于从 GitHub 到极狐GitLab 的迁移指南,可以参考过往的文章 GitHub 到极狐GitLab 的迁移指南。本文详细解读将 GitHub 镜像到极狐GitLab 的方法,具体步骤为:

  • 创建 GitHub 个人访问令牌

  • 导入 GitHub 项目

  • 在极狐GitLab 上添加拉取镜像

极狐GitLab 镜像功能

极狐GitLab 仓库镜像功能是将仓库镜像到外部来源或将外部来源镜像为极狐GitLab 仓库。你可以选择哪个仓库作为源。分支、标签和提交会自动同步。镜像的方法有:

  • 推送:将仓库从极狐GitLab 镜像到其他位置。

  • 拉取:从其他位置镜像仓库。适用于专业版和旗舰版版本。

  • 双向镜像也可用,但可能会导致冲突。

要想将 GitHub 仓库镜像到极狐GitLab,选择 拉取 方式即可。关于极狐GitLab 仓库镜像功能可以查看官方文档

从 GitHub 镜像到极狐GitLab

将极狐GitLab 作为 GitHub 仓库的镜像点,首先需要将 GitHub 仓库导入极狐GitLab,然后配置好镜像,就能够实现 GitHub 仓库的变更被定期拉取到极狐GitLab。

创建 GitHub 个人访问令牌

从 GitHub 导入项目需要 GitHub 个人访问令牌。在 GitHub 上,点击右上角头像 > Settings > Developer Settings > Personal access tokens,选择 Token (classic) ,点击 Generate new token(classic):

在出现的页面中,选择合适的范围即可。必选的范围是 <span data-type="text">repo</span>,这能够用于显示可供导入的公共和私有仓库列表;建议的范围是 <span data-type="text">read:org</span>,这用于从 GitHub 仓库导入协作者,或者你的项目具有 Git LFS 文件。

将 GitHub 仓库导入极狐GitLab

选定你想要镜像的 GitHub 仓库。在极狐GitLab 上先导入此项目。在极狐GitLab 页面上选择 新建项目 :

选择 导入项目 :

选择 GitHub :

输入前面生成的个人访问令牌,点击 验证,验证通过就会列出 GitHub 上可以导入的项目:

选择要导入的项目,选择需要导入的 GitLab 目标路径,点击右侧的 导入,项目就开始导入了,可以看到导入的进度和条目:

导入完成后,即可在极狐GitLab 对应的目标路径上看到对应的项目:

配置拉取镜像

前面的步骤只是完成了 GitHub 仓库的导入,但是 GitHub 上仓库的变更却没办法更新到极狐GitLab 这边。随着时间的变更,两边的差距会越来越大。为了解决此问题,可以在极狐GitLab 上,将 GitHub 的项目设置为仓库镜像,这样,通过定期从 GitHub 项目拉取变更并同步到极狐GitLab 项目上来保持两边项目的同步。

在极狐GitLab 上选择从 GitHub 导入的项目,选择 设置 > 仓库 > 镜像仓库 :

点击 添加新的,将 GitHub 上的项目地址作为 Git 仓库 URL,然后选择镜像方向,由于是从 GitHub 同步变更到极狐GitLab,因此镜像方向为 拉取 ,验证方式为用户名和密码,输入 GitHub 的用户名和密码即可,然后根据需要选择镜像的分支,最后选择 镜像仓库 :

仓库镜像成功,可以看到如下内容:

GitHub 上变更的默认拉取时间间隔为 5 分钟,如果是私有化部署实例用户,可以根据自己需要进行调整。方式可以参考拉取镜像间隔官方文档

测试验证

为了验证这种拉取镜像的方式,可以在 GitHub 仓库上做一个变更,比如创建一个分支,看看是否能同步到极狐GitLab。

可以看到 GitHub 仓库上的默认分支只有 <span data-type="text">main</span>

手动创建两个分支 <span data-type="text">gitlab</span><span data-type="text">gitlab-mirror</span>

在对应的极狐GitLab 仓库上可以看到也只有一个 <span data-type="text">main</span>分支,点击立即更新按钮:

可以在极狐GitLab 仓库的 项目 > 代码 > 分支 中看到对应的分支都同步了过来:

开心交流,交流开心。
回复

使用道具 举报

意见建议

Email:forum@gitlab.cn
  • 关注公众号
  • 添加专业顾问
Copyright © 2001-2025 极狐GitLab论坛 版权所有 All Rights Reserved. 鄂ICP备2021008419号-1|鄂公网安备42018502006137号
关灯 快速发帖
扫一扫添加专业顾问
返回顶部
快速回复 返回顶部 返回列表