在Github中导入Gitlab项目

时间:2018-12-13 14:20:21

标签: git github import gitlab

我最近注册了一个Gitlab帐户,希望用作投资组合。我创建了一个Github Page,其中包含一些内容。现在的问题是,我试图将在Gitlab中完成的所有项目导入到我的Github帐户中。我已经搜索了Google和论坛,有人建议我需要制作令牌,这是我尝试过的,但是没有用。

我尝试使用个人资料附近的“ +”按钮将一个单独的Gitlab存储库导入我的Github存储库。我认为我认为是从其中导入的消息“在https://git.osl.frl/JVeenswijk/pfSense上未检测到源存储库。请检查URL并重试”(是,该项目设置为 public )。来自Gitlab的软件无法正常工作。

因此,我尝试使用令牌,甚至甚至通过Github Desktop导入令牌,但这些方法都不适合我。我觉得Github和Gitlab如此难以连接非常奇怪,从我的角度来看,它们在功能上几乎相同,但功能却不同。

现在的问题是:

  • 是否可以将我的项目从我的Gitlab导入到Github帐户?
  • 我是否可以仅从Gitlab存储库创建链接并将其放在我的Github页面上,如果有人单击该链接(只读)则无需登录?

2 个答案:

答案 0 :(得分:3)

我刚刚成功地将存储库从GitLab转移到GitHub。

GitLab中的存储库为私有,这表明GitHub Importer不起作用,因此,我点击下面的链接即可。

the instruction from GitHub official web page

步骤

  1. 在GitHub上创建一个新的存储库。您将外部Git存储库导入到该新存储库中。
  2. 在命令行上,使用外部克隆URL对存储库进行“裸露”克隆。这将创建数据的完整副本,但没有用于编辑文件的工作目录,并确保干净,全新地导出所有旧数据。
    $ git clone --bare https://external-host.com/extuser/repo.git
    # Makes a bare clone of the external repository in a local directory
    
  3. 使用“ mirror”选项将本地克隆的存储库推送到GitHub,以确保将所有引用(例如分支和标签)都复制到导入的存储库中。
    $ cd repo.git
    $ git push --mirror https://github.com/ghuser/repo.git
    # Pushes the mirror to the new GitHub repository
    
    4.删除临时本地存储库。
    $ cd ..
    $ rm -rf repo.git
    

答案 1 :(得分:0)

您可以做到。这是gitlab的功能,可以镜像另一个存储库。

执行此操作的选项位于项目页面->设置->存储库->镜像存储库。此选项允许您使用以下两个选项:从远程存储库中提取并推送到它。

要执行您的要求,有gitlab帮助:

要设置从GitLab到GitHub的镜像,您需要执行以下步骤:

Create a GitHub personal access token with the public_repo box checked.
Fill in the Git repository URL field, with the personal access token instead of a password.
For example: https://<GitHubUsername>:<GitHubPersonalAccessToken>@github.com/group/project.git.
Click the Mirror repository button.
Wait, or click the update button.

请查看gitlab(https://gitlab.com/help/workflow/repository_mirroring)上的帮助以获取更多信息。