【发布时间】:2014-04-11 12:42:57
【问题描述】:
如果需要,可以将存储库从 GitLab 转移到 GitHub。如果是这样,我该如何做同样的事情?
此外,考虑到我可能决定最终将它们移至 GitHub(因为它目前有更多我可能会觉得方便的功能)对于我的项目)。
【问题讨论】:
标签: git github transfer gitlab repository
如果需要,可以将存储库从 GitLab 转移到 GitHub。如果是这样,我该如何做同样的事情?
此外,考虑到我可能决定最终将它们移至 GitHub(因为它目前有更多我可能会觉得方便的功能)对于我的项目)。
【问题讨论】:
标签: git github transfer gitlab repository
您可以转移这些(只需将遥控器添加到 GitHub 存储库并推送它们)
git remote add github https://yourLogin@github.com/yourLogin/yourRepoName.gitgit push --mirror github历史将是相同的。
但是您将失去访问控制(在 GitLab 中定义的团队对您的存储库具有特定访问权限)
如果您在使用 GitHub 存储库的 https URL 时遇到任何问题:
The requested URL returned an error: 403
你需要做的就是输入你的 GitHub 密码,但是 OP 建议:
那么您可能需要以 ssh 方式推送它。您可以在此处阅读有关如何操作的更多信息。
见“Pushing to Git returning Error Code 403 fatal: HTTP request failed”。
【讨论】:
push --mirror 之前,您必须先在其repsective 远程跟踪分支之后创建其他本地分支。 stackoverflow.com/a/18911322/6309。另见stackoverflow.com/a/24099141/6309(最后一句)提到的替代方案
origin, (git remote remove origin) 将github origin 重命名为origin (git remote rename origin github),然后继续git push (到@98765433) @,现在是 GitHub):从 GitLab 到 GitHub 的转移完成。
【讨论】:
如果你想迁移包含 wiki 和所有问题和里程碑的 repo,你可以使用 node-gitlab-2-github 和 GitLab to GitHub migration
【讨论】:
如果你在 GitLab 上启用了 MFA,你应该去 Repository Settings/Repository ->Deploy Keys 并创建一个,然后在 GitHub 上导入 repo 时将其用作登录
【讨论】:
您可以使用以下命令:
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.git> 链接更改为 GitHub 上的存储库链接,则可以采用另一种方式,从 GitLab 转移到 GitHub。在实践中,您创建一个新的起源并强制推动一切。
【讨论】:
使用默认的 Github 存储库导入是可能的, 但只需确保在 Gitlab 中未启用 两因素身份验证。
谢谢
【讨论】:
对于仍在寻找一种更简单的方法来将存储库从 Gitlab 转移到 Github 同时保留所有历史记录的人。
步骤 1. 登录 Github,创建一个与您要转移的 repo 名称完全相同的私有 repo。
第 2 步。在“从命令推送现有存储库”下复制新存储库的链接,它将如下所示:
git@github.com:your-name/name-of-repo.git
步骤 3. 打开您的本地项目并查找文件夹 .git 通常这将是一个隐藏文件夹。在.git 文件夹中打开config。
配置文件将包含如下内容:
[remote "origin"]
url = git@github.com:your-name/name-of-repo.git
fetch = +refs/heads/:refs/remotes/origin/
在 [remote "origin"] 下,将 URL 更改为您在 Github 上复制的那个。
步骤 4. 在终端中打开您的项目文件夹并运行:git push --all。这会将您的代码以及所有提交历史推送到 Github。
第 5 步。为确保一切按预期工作,进行更改、提交、推送和新提交应出现在新创建的 Github 存储库中。
第 6 步。作为最后一步,您现在可以归档 Gitlab 存储库或将其设置为只读。
【讨论】:
您可以按照以下 2 个步骤简单地将 GitLab 项目连同包含的历史记录和提交转移到 GitHub:
单击 Github 配置文件右侧的设置,然后选择导入存储库。然后在旧的存储库 URL 上粘贴 Gitlab 要转移的存储库链接。按照所附截图Steps to import git repository
点击导入,然后在验证登录凭据后等待一分钟,最后你就完成了。检查您的 GitHub 存储库以查看更改。
【讨论】:
一种简单的解决方案是向本地存储库添加一个远程 URL。
步骤:
git remote add <name> <URL>
git push name
例子:
git remote add github_origin https://github.com/...
git push github_origin
【讨论】: