将GitHub镜像到Gitlab

在本地gitlab中,我创build了一个项目nova( https://github.com/openstack/nova )的副本。

如何保持本地新星回购与github同步,每小时或每天更新一次?

我想要一个解决scheme类似于这里描述的bitnami: http ://wiki.bitnami.com/Applications/BitNami_GitLab#Keeping_in_sync_with_the_GitLab_repository_at_GitHub

(我用Devstack来安装Openstack。)

    如果你不需要本地提交,下面的配方将工作:

    --mirror克隆回购:

     git clone --mirror https://github.com/openstack/nova.git 

    然后在cronjob中,你每小时更新一次:

     0 * * * * cd /path/to/nova.git && git fetch 

    --mirror以这样的方式设置--mirror ,以便后续提取将更新所有本地refs,所以您不需要合并更改。当然,这意味着推送到该repo的提交将丢失。

    我写了一个项目,目的是向GitLab添加远程镜像。 你可以看看这里

    https://github.com/sag47/gitlab-mirrors

    GitLab现在内置了这个function!
    由于GitLab EE 8.2 支持 。 万岁!

    链接文章的屏幕截图: GitLab自动镜像


    我知道这是一个古老的问题,但如果有人会去寻找它,那么值得一提。

    创build一个cron作业来更新回购

    你可以使用cron作业来做到这一点。

    在你的terminal里inputcrontab -e (编辑你的crontab),然后在下面添加一个新行。

     * 0 * * * git clone ssh://username@hostname:port/repo 

    它将在午夜每天运行一次克隆。