繁体   English   中英

GitLab和GitHub存储库的混合

[英]Mix of GitLab and GitHub repos

我有一个基于GitHub上托管的多个存储库的项目(一个phpBB论坛)。 我想将此代码托管在公众不可用的地方(如GitLab)。

所以我有这样的环境:

  • / <-(我对phpBB进行的(私有)修改(但在其发行版中,而不是在其当前代码上)。
  • /styles/mystyle <-我对Artodia的Simplicity主题进行的(私人)修改
  • /ext/vendor/extension <-来自几个人的几个扩展,每个扩展都在其自己的GitHub存储库上。 我已经修改了其中一些。 我还制作了一些文档,其中一些我想保留一个私有副本,另一些则想在GitHub中共享。

现在,我在GitLab中只有一个大型存储库。 但是我无法获取这些软件的原始作者所做的进一步提交。

我应该遵循哪种设置? 我已经阅读了有关子模块的内容,这是我应该遵循的路径吗?

我会使用常规的repos和子模块来处理它:

首先,对于要与其作者提供的内容相比要更改的所有存储库,请执行以下操作:在GitHub上创建一个fork,然后将其导入GitLab。

导入后,将上游设置为原始作者的GitHub存储库(例如,对于phpBB来说,将是git remote add upstream https://github.com/phpbb/phpbb )。 这将使您即使从GitLab中私下托管原始存储库,也可以从原始存储库中提取更改(请参阅保持fork同步 )。 唯一的警告是,将所有更改从发布开始就保留在单独的分支中。

好的,现在您应该在GitLab中拥有要对其进行自定义更改的所有存储库(phpBB,主题和您不想共享的扩展名)。

第2步将在您的计算机上从GitLab( / )克隆phpBB,然后将主题和每个所需的扩展名添加为模块(请参见此处如何将子模块添加到特定路径以及此处如何设置提交的方式)应该指向)。

现在,您应该具有完整的结构,只有托管在私有GitLab存储库上的代码。 因此,当您要更新主题时,可以在GitLab中更新主题仓库,并推送到您的自定义分支; 例如,在作者更新了主题之后,您可以切换到master分支,从上游获取更改,然后将自定义分支重新建立在master上,最后更新主存储库中的子模块(即phpBB)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM