假设我想对其他人的项目实施修复。该项目位于GitHub上。
我可以在GitHub上创建一个fork并实现此修复程序。
但是,我想在GitLab而不是GitHub上创建我的fork。
有可能吗?怎么样?
我已经阅读了这篇文章: https://about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/
无论如何,我不确定我该怎么办。
正确的方法是什么。
谢谢。
更新
GitLab上的存储库镜像可能没有意义。我可以在GitLab上创建MY GitHub存储库的镜像,但不能创建其他人的存储库的镜像。
https://docs.gitlab.com/ee/workflow/repository_mirroring.html
这是我到目前为止所做的:
我已经将原始GitHub项目克隆到了本地机器上。我已将修复程序提交到本地存储库中的新分支。我在GitLab上创建了一个空项目。我已经将本地存储库中的源设置为GitLab上的那个空项目,并将两个分支都推送到GitLab。我已经在本地存储库中将上游设置为GitHub存储库。
当我想从原始GitHub存储库中获取新的提交到GitLab上的存储库(即同步存储库)时,可以使用本地存储库作为中间步骤来进行此操作。但是,GitHub上的存储库和GitLab上的存储库之间没有直接连接。我的设置正确吗?如果我在GitHub上进行分叉,有什么区别吗?
答案 0 :(得分:40)
如果您只想跟踪更改,请首先在GitLab(或您可能使用的其他任何工具)中建立一个空的存储库,然后将其克隆到计算机中。
然后使用以下命令将GitHub项目添加为“ upstream”远程对象:
git remote add upstream https://github.com/user/repo
现在,如果有任何更改,您可以从上游获取和提取。 (如果您拥有访问权限,也可以将其推送或合并。)
git pull upstream master
最后,回到您自己的GitLab存储库:
git push origin master
如果您不想手动拉上游/推原点,则GitLab可在设置=>存储库=>镜像存储库中提供镜像功能。
答案 1 :(得分:2)
仅浏览器方式:
答案 2 :(得分:0)
可以分叉私有github存储库。
^我刚刚在github上的一个私有仓库中完成了此操作,并成功导入了(inc分支等)。导入的项目会自动设为私有;)
答案 3 :(得分:0)
您可以仅使用Web界面导入任何公开可用的GitHub存储库,而无需进行分叉:
最近使用了此技术,即使没有GitHub帐户,它也可以在任何公共存储库上使用。请参阅此GitLab docs页面以获取信息来源。