如果需要,可以从GitLab转移存储库到GitHub。如果是这样,我该如何做呢?

此外,考虑到我可能最终决定将它们转移到GitHub(因为它目前有更多的功能,我可能会发现对我的项目很方便),这样做是否有任何陷阱或预防措施,我需要在这样做之前记住。


当前回答

可以使用以下命令:

cd existing_repository
git remote rename origin old-origin
git remote add origin <yourRepository.git>
git push -u origin --all
git push -u origin --tags

如果发生错误,您可以尝试使用-f命令强制推送,键入如下:

git push -u -f origin --all
git push -u -f origin --tags

这将是GitLab推荐的导入GitHub上现有存储库的路径,但是,如果您更改了<yourRepository. conf。git>链接到GitHub上的存储库链接,可以走另一种方式,从GitLab转移到GitHub。在实践中,你创造了一个新的原点,并强迫推动一切。

其他回答

你可以简单地将你的GitLab项目转移到GitHub,包括历史记录和提交,以下2步:

单击Github配置文件右侧的设置,并选择导入存储库。然后在旧的存储库URL上粘贴Gitlab 要传输的存储库链接。按照所附的截图步骤导入git存储库 单击导入,然后在验证登录凭证后等待一分钟,最后完成。检查您的GitHub存储库查看更改。

与默认的Github库导入是可能的, 但要确保在Gitlab中没有启用双因素身份验证。

谢谢

你可以从gitlab导入存储库到github使用用户界面(UI)以下说明:

->首先登录gitlab

->在gitlab中复制项目链接

然后去github并登录

->在github界面右侧按“+”

->单击导入存储库

->然后将链接粘贴在“您的旧存储库的克隆URL”字段

->在右侧填写报表名称

->选择“private/public”

->按“开始导入”按钮

它会导入你的gitlab项目的所有文件。

完成项目后,它将显示

“导入完成!”新的存储库“link”已经准备好了。

最后导入项目。

你可以转移这些(简单地通过添加一个远程到GitHub回购并推送它们)

在GitHub上创建一个空的回购 git远程添加github https://yourLogin@github.com/yourLogin/yourRepoName.git Git推送——镜像github

历史将是一样的。

但是你将失去访问控制(在GitLab中定义的团队对你的回购具有特定的访问权限)

如果你遇到任何问题与GitHub回购的https URL:

The requested URL returned an error: 403

你所需要做的就是输入你的GitHub密码,但OP建议:

然后,您可能需要以ssh方式推动它。你可以在这里阅读更多关于如何做到这一点。

参见“推到Git返回错误码403致命:HTTP请求失败”。


注意,mike还在评论中补充道:

GitLab也可以设置为将镜像推送到下游存储库,并且有具体的说明来将镜像推送到GitHub。 这可以使用GitHub个人访问令牌,也可以设置为定期推送。 您可以使用此选项在GitHub上进行共享,但请将主要开发活动保留在GitLab实例中。

请确保您的GitLab用户帐户上没有启用MFA,否则它将无法工作。 如果启用了MFA(应该启用),请暂时禁用它,直到执行导入,然后重新启用它。