热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从GitHub到GitLab分叉Git存储库

如何解决《从GitHub到GitLab分叉Git存储库》经验,为你挑选了2个好方法。

假设我想对其他人的项目实施修复.该项目驻留在GitHub上.

我可以在GitHub上创建一个fork并实现修复.

但是,我想在GitLab而不是GitHub上创建我的fork.

那可能吗?怎么样?

我读过这篇文章:https: //about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/

无论如何,我不知道在我的情况下我该怎么做.

我应该以某种方式从GitHub在项目的GitLab上创建一个fork吗?

或者我应该从GitHub在项目的GitLab上创建一个镜像?

或者我应该在GitLab上创建一个镜像然后分叉镜像?

或者我应该做一些完全不同的事情?

什么是正确的方法.

谢谢.

UPDATE

GitLab上的存储库镜像可能没有意义.我可以在GitLab上创建一个MY GitHub存储库的镜像,但是我无法创建其他人的存储库镜像.

https://docs.gitlab.com/ee/workflow/repository_mirroring.html

这是我到目前为止所做的:

我已将原来的GitHub项目克隆到我的本地机器上.我已将修复程序提交到本地存储库中的新分支.我在GitLab上创建了一个空项目.我已将我的本地存储库中的原点设置为GitLab上的空项目,并将两个分支推送到GitLab.我已将本地存储库中的上游设置为GitHub存储库.

当我想从原始的GitHub存储库获取新的提交到GitLab上的存储库(即同步存储库)时,我可以使用我的本地存储库作为中间步骤.但是,GitHub上的repo和GitLab上的repo之间没有直接的联系.我的设置是否正确?如果我在GitHub上做一个分叉有什么区别吗?



1> CJxD..:

如果您只想跟踪更改,请首先在GitLab(或您可能正在使用的任何其他内容)中创建一个空存储库,然后将其克隆到您的计算机上.

然后将GitHub项目添加为" 上游 "远程:

git remote add upstream https://github.com/user/repo

现在,如果有任何变化,您可以从上游获取和拉取.(如果您有访问权限,也可以推送或合并到它.)

git pull upstream master

最后,回到您自己的GitLab存储库:

git push origin master

如果您不想手动拉取上游/推送源,GitLab在Settings => Repository => Mirroring repositories中提供镜像功能.


我只是想补充一下为什么这是正确方法的答案。“分叉”是由GitHub创建的概念,因此仅存在于GitHub上,但仍然很有用。如果您考虑使用纯git本身(例如在网络中某个地方运行的纯git服务器),则就像将存储库克隆到您自己的服务器,然后将其克隆到本地计算机一样。然后,您将原始存储库添加为本地上游。我相信这就是GitHub在幕后所做的事情。
上游是正确的方法。
只想添加在GitLab上存在的_does_分叉,请参阅[here](https://docs.gitlab.com/ee/workflow/forking_workflow.html)。

2> aksh1618..:

仅限浏览器的方式:

    在Gitlab中创建一个新项目(只需一个有名称的空项目即可)

    转到设置->存储库

    在“镜像存储库”下输入GitHub URL

    确保“镜像方向”为“拉”

    按“镜像存储库”按钮

    按出现的条目旁边的同步图标


@Cimlman您是否正在使用自定义/本地gitlab实例?我在gitlab.com的个人基本帐户中有更多选择
推荐阅读
author-avatar
luhd88112010_254
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有