【问题标题】:Move a repository from Github to Gitlab将存储库从 Github 移动到 Gitlab
【发布时间】:2019-03-12 07:21:59
【问题描述】:

有没有办法将整个存储库从 Github 移动到 GitLab?

对于代码本身,这将是在 GitLab 上创建一个新的 repo 并推送到它的简单问题。

Wiki 页面位于 Github 上的一个单独分支中,并使用 Git 机制进行管理; AFAIK 同样适用于 GitLab。页面的故事相同。

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

Github 提供导出功能,GitLab 具有可以导入 Github 存储库的导入功能 — 这些对上述内容有帮助吗?

【问题讨论】:

标签: git github gitlab


【解决方案1】:

GitLab 的导入功能运行良好。

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

导入需要几分钟时间。完成后,您将获得整个 repo,包括 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 有多种存储网页内容的选项;以上内容也可能适用于稍作修改的其他人。

【讨论】:

    【解决方案2】:

    根据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+)
    • 拉取请求审查 cmets(GitLab.com 和 10.2+)
    • 常规问题和拉取请求 cmets

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-01
      • 2019-02-18
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多