将存储库从Github移至Gitlab

时间:2019-03-03 18:05:26

标签: git github gitlab

是否可以将整个存储库从Github移至GitLab?

对于代码本身,这很简单,只需在GitLab上创建一个新的仓库并推送到仓库即可。

Wiki页面位于Github上的一个单独分支中,并通过Git机制进行管理; AFAIK对GitLab也是如此。页面的故事相同。

这将问题和合并请求作为主要开放点。是否有办法至少从迁移时的状态将它们从Github复制到GitLab?

Github提供了导出功能,而GitLab具有可以导入Github存储库的导入功能-上面的这些帮助吗?

2 个答案:

答案 0 :(得分:1)

根据official docs,当从GitHub导入到GitLab时,将导入项目的以下方面:

  • 存储库描述(GitLab.com&7.7 +)
  • Git存储库数据(GitLab.com&7.7 +)
  • 问题(GitLab.com&7.7 +)
  • 拉取请求(GitLab.com&8.4 +)
  • Wiki页面(GitLab.com&8.4 +)
  • 里程碑(GitLab.com&8.7 +)
  • 标签(GitLab.com&8.7 +)
  • 发布注释说明(GitLab.com和8.12 +)
  • 请求评论评论(GitLab.com&10.2 +)
  • 常规问题和请求请求评论

答案 1 :(得分:0)

GitLab的导入功能运行良好。

  • https://gitlab.com上(确保已登录),您将获得项目列表。点击新项目
  • 打开导入项目标签,然后点击 Github
  • 如果您尚未授予Gitlab授权访问您的Github帐户,则系统会提示您立即这样做。
  • 将显示您的Github存储库列表。对于要导入的每个存储库,请选择名称空间(您自己的名称空间或任何组织的名称空间),并根据需要更改项目名称。 (默认是导入到您的个人命名空间,并使用与Github相同的回购名称。)然后单击您要导入的回购旁边的 Import (导入)。

导入将需要几分钟。完成后,您将获得整个仓库,包括Wiki,问题和合并请求。发行和合并请求将保留Github上的票证编号,标签也似乎会被迁移。

Github页面似乎不会自动迁移。这需要一些手动步骤。对于纯静态内容(无SSG),其内容存储在gh-pages分支中,过程如下:

  • 切换到您的gh-pages分支。
  • 创建一个新文件夹public并将所有内容移到那里。
  • 提交更改。
  • 切换回master并合并gh-pages(这样您的内容现在位于master中的单独文件夹中,而不是其自己的分支中)。
  • 在项目的主页上,单击添加CI / CD 。这将创建一个新的.gitlab-ci.yml文件;添加以下内容并提交:
image: alpine:latest

pages:
  stage: deploy
  script:
  - echo 'Nothing to do...'
  artifacts:
    paths:
    - public
  only:
  - master

这还需要几分钟。导航到设置>页面,然后单击指向您页面的链接。

Github有多个用于存储Web内容的选项;上面的内容也可以通过稍作修改而适用于其他人。