GitLab fork远程公共回购

Way*_*bel 9 git github gitlab

我的组织有一台用于GitLab安装的专用机器.我经常与其他公共项目(Drupal.org和Github)合作.我想在我们的GitLab上有一个回购,它有一个跟踪远程Drupal或Github项目的分支,除了拥有自己的开发和生产分支.

希望它位于GitLab服务器(机器)上,因此开发人员不负责从公共远程控制器进行跟踪和更新.

从本质上讲,fork public repo跟踪'master',内部分支'devel'和'prod'; 开发人员只克隆内部开发分支.然后有能力从远程拉到主,然后根据需要合并到其他内部分支.可以通过网络界面或钩子完成吗?要么 ...

为github创建一个公共git repo的分支的答案之后,它似乎需要是一个脚本从公共远程到本地,然后推送到GitLab master,脚本设置为cron作业.是吗?

pet*_*ulc 2

Fork只不过是一个添加了远程的新存储库

需要理解三个主要思想:

  • 每个 Git 存储库都是一个独立的存储库
  • “fork”是存储库的一个奇特词,远程指向原始存储库
  • GitLab 只不过是文件系统上真实 Git 存储库的用户界面

因此,如果您坚持认为服务器上的某些分支应与远程分支(git:// 或 http(s)://)保持最新,您可以将新的远程添加到您真正的 git 存储库(通常位于 /home/git/repositories,检查您的 gitlab.yml)并设置一个 cron 以从此类远程提取更改。

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

解决方案是获取遥控器并重置,但这一次您的所有更改都将丢失。

最好全部手工完成

如果可能的话,更好的解决方案是花一些时间手动提取更改,检查一致性并推送到本地副本。