git. Несколько удалённых репозиториев

  • Я использую несколько серверов репозиториев: github, gitlab, bitbucket.
  • Возникает необходимость использовать несколько удалённых репозиториев в проекте.
Содержание

1 Общая информация

  • Локальный репозиторий можно связать с несколькими удалёнными репозиториями. Однако только одна из этих ссылок может называться origin. Остальные ссылки должны иметь другие имена.
  • Команда git remote -v отображает все удалённые репозитории, связанные с вашим локальным репозиторием.
  • Для отправки или получения кода из вашего удалённого репозитория по умолчанию используется короткое имя origin.

2 Несколько удалённых репозиториев

  • Можно добавить несколько удалённых репозиториев по https:
    1git remote add github https://github.com/your_name/repository_name.git
    2git remote add gitlab https://gitlab.com/your_name/repository_name.git
    3git remote add bitbucket https://bitbucket.org/your_name/repository_name.git
    
    или по ssh:
    1git remote add github git@github.com:your_name/repository_name.git
    2git remote add gitlab git@gitlab.com:your_name/repository_name.git
    3git remote add bitbucket git@bitbucket.org:your_name/repository_name.git
    
  • По команде git remote -v получим список репозиториев:
    1github git@github.com:your_name/repository_name.git (fetch)
    2github git@github.com:your_name/repository_name.git (push)
    3gitlab git@gitlab.com:your_name/repository_name.git (fetch)
    4gitlab git@gitlab.com:your_name/repository_name.git (push)
    5bitbucket git@bitbucket.org:your_name/repository_name.git (fetch)
    6bitbucket git@bitbucket.org:your_name/repository_name.git (push)
    
  • Для отправки кода в репозиторий необходимо указать его имя:
    1git push github master
    2git push gitlab master
    3git push bitbucket master
    

3 Замена репозитория по умолчанию

  • Любой из репозиториев можно назвать origin, тогда он будет репозиторием по умолчанию.
  • Также можно заменить текущий удалённый репозиторий:
    1git remote set-url <remote_name> <remote_url>
    
    Например:
    1git remote set-url origin https://github.com/your_name/repository_name.git
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие