Mirror github to Gitlab

10

Em um gitlab local, criei uma cópia do projeto nova ( link ).

Como mantenho o repositório local novo em sincronia com o github, atualizando talvez uma vez por hora ou por dia?

Eu gostaria de uma solução semelhante à descrita aqui para o bitnami: link

(eu usei o Devstack para instalar o Openstack).

    
por user186107 19.08.2013 / 10:35

5 respostas

4

Se você nunca precisar de commits locais, a seguinte receita funcionará:

Clone o repositório com --mirror :

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

Em um cronjob, você faz isso para uma atualização por hora:

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

O --mirror configura os refspecs de modo que os acessos subseqüentes atualizem todos os refs locais, para que você não precise mesclar as alterações. Isso significa que os commits enviados para esse repositório serão perdidos.

    
por 20.08.2013 / 08:42
4

O GitLab agora tem esse recurso embutido!
Desde que o GitLab EE 8.2 é suportado . Hooray!

Pulling from a remote respository

You can set up a repository to automatically have its branches, tags, and commits updated from an upstream repository.
...

When creating a new project, you can enable repository mirroring when you choose to import the repository from "Any repo by URL". Enter the full URL of the Git repository to pull from and click on the Mirror repository checkbox.

GitLab auto mirroring

For an existing project, you can set up mirror pulling by visiting your project's Settings ➔ Repository and searching for the "Pull from a remote repository" section. Check the "Mirror repository" box and hit Save changes at the bottom.
...

    
por 09.05.2017 / 22:27
3

Eu escrevi um projeto com a intenção de adicionar espelhos remotos ao GitLab. Você pode conferir aqui ...

link

    
por 11.10.2013 / 02:41
0

Crie um cron job para atualizar o repo

    
por 19.08.2013 / 10:37
0

Você pode fazer isso usando cron jobs .

Em seu tipo de terminal crontab -e (para editar seu crontab) e adicione uma nova linha na parte inferior com o seguinte.

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

Ele executará um clone todos os dias à meia-noite.

    
por 19.08.2013 / 10:50

Tags