This previous StackOverflow问题解决了如何将仓库从另一个服务转移到GitHub,第一个答案解决了如何通过命令行完成,第二个和第三个是更用户友好的方法,不幸的是,如果您的GitLab示例在本地服务器上,这对您不起作用(似乎是您的情况)。 但是你可以像by GitHub docs解释的那样从命令行“导入”你的仓库到GitHub,这是GitHub offers this as an alternative使用他们的GitHub导入器工具的建议方法(在前面的SO问题中突出显示) 从文档中获取的步骤的运行: 1.您想在GitHub中推送到的Create a new repository。 1.从GitLab服务器创建一个本地裸克隆: git clone --bare https://githost.org/extuser/repo.git 裸克隆是完全相同的副本,* 没有用于编辑文件的工作目录 *,因此它是一个干净的导出。 1.切换到该目录,然后使用--mirror标志推送它。镜像标志确保引用(分支/标签)被复制到GitHub。 cd *repo.git* git push --mirror https://github.com/ghuser/repo.git 1.最后删除您创建的本地存储库。 cd .. rm -rf repo.git
5条答案
按热度按时间93ze6v8z1#
GitLab现在有一个选项可以从用户界面完成这个操作,请进入设置-〉存储库:
https://gitlab.com/yourUserNameInGitLab/yourRepoName/settings/repository
然后找到“镜像存储库”选项,点击展开,你要做的就是选择“推送”镜像方向,并填写以下URL:
https://yourUserNameInGitHub@github.com/yourUserNameInGitHub/yourRepoName.git
在密码字段中,您必须使用个人访问令牌(因为GitHub现在已经弃用密码访问),您可以在这里生成:https://github.com/settings/tokens(生成时别忘了启用“repo”和“workflow”权限)
ct3nt3jp2#
另一个选项是向
origin
添加额外的URL:当你推到原点时,它会同时推到原始原点(gitlab)和上面添加的原点(github)。
siotufzp3#
This previous StackOverflow问题解决了如何将仓库从另一个服务转移到GitHub,第一个答案解决了如何通过命令行完成,第二个和第三个是更用户友好的方法,不幸的是,如果您的GitLab示例在本地服务器上,这对您不起作用(似乎是您的情况)。
但是你可以像by GitHub docs解释的那样从命令行“导入”你的仓库到GitHub,这是GitHub offers this as an alternative使用他们的GitHub导入器工具的建议方法(在前面的SO问题中突出显示)
从文档中获取的步骤的运行:
1.您想在GitHub中推送到的Create a new repository。
1.从GitLab服务器创建一个本地裸克隆:
git clone --bare https://githost.org/extuser/repo.git
裸克隆是完全相同的副本,* 没有用于编辑文件的工作目录 *,因此它是一个干净的导出。
1.切换到该目录,然后使用
--mirror
标志推送它。镜像标志确保引用(分支/标签)被复制到GitHub。cd *repo.git*
git push --mirror https://github.com/ghuser/repo.git
1.最后删除您创建的本地存储库。
cd ..
rm -rf repo.git
deyfvvtc4#
Post Aug 13,2021仅使用用户名/密码将repo从GitLab镜像到GitHub将失败,因为我们需要使用个人访问令牌(PAT)来执行此操作。
步骤1:从GitHub创建PAT:
您还应该能够看到您的个人访问令牌。请确保复制它,因为我们在以下步骤中需要它。
第2步:从GitLab,转到您希望镜像的存储库:
ua4mk5z45#
对于GitLab到GitHub镜像,如果您更喜欢SSH连接而不是HTTPS连接:
git@github.com:yourusername/yourrepositoryname.git
)ssh://git@github.com/yourusername/yourrepositoryname.git
参考文献