Синхронизация Gitlab-а и Github-а

Рейтинг: 1Ответов: 1Опубликовано: 11.12.2014

Как синхронизировать содержимое репозиториев локального Gitlaba с Githubом?

Например, чтобы при добавлении коммита в Gitlab то же самое появилось в Github.

Ответы

▲ 2
  1. можно одной командой push отправлять изменения сразу в несколько репозиториев: Отправить изменения в несколько репозиториев одной командой push
  2. если сервер с gitlab вам подконтролен, то можно там в репозитории создать post-commit hook, который будет вызываться при поступлении коммитов в этот репозиторий. переработанный и дополненный пример:

    1. от имени пользователя, под которым выполняется gitlab, сгенерируйте пару приватный-публичный ключ:

      $ sudo -u пользователь ssh-keygen
      
    2. публичную часть ключа (файл id_rsa.pub в каталоге .ssh в домашнем каталоге того самого пользователя) добавьте к ключам вашего аккаунта на github-е.
    3. в каталоге с репозиторием на сервере с gitlab-ом от имени того же пользователя добавьте новый remote с произвольным именем (например, togithub):

      $ sudo -u пользователь git remote add --mirror=push togithub url-репозитория-на-github-е
      
    4. в том же каталоге в подкаталоге hooks создайте файл с именем post-commit такого содержания:

      #!/bin/sh
      exec git push togithub -f --mirror
      

      и установите ему биты исполнимости:

      $ sudo chmod +x hooks/post-commit