我的组织有一台专门的机器来安装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作业。
2条答案
按热度按时间zphenhs41#
Fork只是添加了远程存储库的新存储库
主要有三个理念需要理解:
因此,如果你坚持要求服务器上的一些分支(git://或http(s)://)保持更新,你可以在你的真实的git仓库(通常位于/home/git/repository,检查你的gitlab.yml)中添加新的remote,并设置一个cron来从remote中拉取修改。
但是,如果拉动不是快进,需要合并,很多事情可能会出错。
一个解决方案是获取遥控器并重置,但这一次所有的更改都会丢失。
最好用手来做
如果可能的话,一个更好的解决方案是专门花一点时间手动提取更改,检查一致性并推送到本地副本。
kg7wmglp2#
也许你可以试试GitLab mirroring feature,它支持pulling from the remote repo。