GitLab派生远程公共repo

bnl4lu3b  于 2023-03-06  发布在  Git
关注(0)|答案(2)|浏览(184)

我的组织有一台专门的机器来安装GitLab,我经常与其他公共项目(Drupal.org和Github)合作,我希望在GitLab上有一个repo,除了我们自己的开发和生产分支之外,还有一个分支来跟踪远程Drupal或Github项目。
希望这是在GitLab服务器(机器),使开发人员不负责跟踪和更新从公共远程。
本质上,fork公共repo跟踪“master”,内部分支为“devel”和“prod ';开发者只克隆内部的devel分支。然后有能力从远程拉到master,然后根据需要合并到其他内部分支。这可以通过web界面或钩子来完成吗?或者...
根据Create a fork of public git repo for github的答案,似乎需要一个脚本来从public remote拉到local,然后推送到GitLab master,并将脚本设置为cron作业。

zphenhs4

zphenhs41#

Fork只是添加了远程存储库的新存储库

主要有三个理念需要理解:

  • 每个Git存储库都是独立的存储库
  • “fork”是一个花哨的词汇,表示远程指向原始存储库的存储库
  • GitLab只不过是一个用户界面,用于访问文件系统上的真实的Git存储库

因此,如果你坚持要求服务器上的一些分支(git://或http(s)://)保持更新,你可以在你的真实的git仓库(通常位于/home/git/repository,检查你的gitlab.yml)中添加新的remote,并设置一个cron来从remote中拉取修改。

但是,如果拉动不是快进,需要合并,很多事情可能会出错。

一个解决方案是获取遥控器并重置,但这一次所有的更改都会丢失。
最好用手来做
如果可能的话,一个更好的解决方案是专门花一点时间手动提取更改,检查一致性并推送到本地副本。

相关问题