将存储库从 Github 移动到 Gitlab

use*_*408 5 git github gitlab

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

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

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

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

Github 提供了一个导出功能,而 GitLab 有一个可以导入 Github 存储库的导入功能——这些对上述问题有帮助吗?

use*_*408 8

GitLab 的导入功能运行良好。

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

导入将需要几分钟。完成后,您将获得整个存储库,包括 wiki、问题和合并请求。问题和合并请求将保留在 Github 上的票号,并​​且标签似乎也会被迁移。

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

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

pages:
  stage: deploy
  script:
  - echo 'Nothing to do...'
  artifacts:
    paths:
    - public
  only:
  - master
Run Code Online (Sandbox Code Playgroud)

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

Github 有多种存储网页内容的选项;以上也可能适用于其他人稍作修改。