在GitHub和GitLab项目之间分叉

时间:2017-07-16 14:55:15

标签: git github gitlab

是否可以将GitHub项目分叉到GitLab项目中,反之亦然?

1 个答案:

答案 0 :(得分:3)

创建新存储库时,您可以选择导入另一个存储库,其中一个选项是通过其https://... URL从另一个存储库站点(例如github)导入它。这将启动git clone --bare <url>以导入存储库。在GitLab documentation中详细描述了该过程。每当我尝试这个过程时,过程都会保持清醒,并且正在进行中#34;正在进行中。状态不确定。

  

更新:这似乎仅适用于您拥有的存储库。因此,要导入公共存储库,解决方法是将其分叉并导入fork。

另一种方法是在填充新存储库之前在命令行上克隆存储库:

当您在gitlab网站上创建一个新的空存储库时,您将获得一个页面,其中包含有关如何继续填充此存储库的建议。 为github站点设置跟踪器基本上是一个变体 现有的Git存储库配方与克隆存储库以便首先跟踪的细微差别,而不是按照配方中的建议将之前的origin重命名为old-origin,您要重命名它改为upstream来维护约定。所以你最终会按照概述的程序结束:

  1. 克隆要跟踪的原始存储库: git clone https://github.com/<author>/<repository.git> <repository>-tracker
  2. 切换到克隆存储库的目录 cd <repository>-tracker
  3. 将来源(origin)重命名为其他内容(upstream),因此您仍然可以解决此问题。 git remote rename origin upstream
  4. 创建位于gitlab服务器上的自己的存储库,为其提供合适的名称和描述(不要错过引用/链接原始源)
  5. 将您自己的gitlab存储库的网址添加为origin。要使用的确切行包括您自己的存储库的路径,可以在上一步的结果中找到的现有Git存储库配方中找到。 git remote add origin git@<gitlab-server>/<path-to-your-repo>.git
  6. 将存储库推送到您的gitlab服务器: git push -u origin --all git push -u origin --tags
  7. 之后: git remote -v origin git@<gitlab-server>/<path-to-your-repo>.git (fetch) origin git@<gitlab-server>/<path-to-your-repo>.git (push) upstream https://github.com/<author>/<repository.git> (fetch) upstream https://github.com/<author>/<repository.git> (push)