Перейти к главному содержимому

Git: как сделать push в несколько репозиториев одновременно

Понадобилось мне залить код одновременно в несколько репозиториев. Один репо лежит в Dropbox, второй в Gitlab. В обоих хранится один и тот же код проекта.

Решить эту задачу можно очень просто — Git ультракрут и имеет красивое решение из коробки — нужно создать новый remote и указать для него адреса репозиториев, куда будет заливаться код.

Сделать это можно двумя способами — из консоли, с помощью команд Git, и вручную отредактировав файл .git/config.

Итак, вот, что нужно сделать:

# Создать новый remote
git remote add all user@host:repo.git

# Настроить адреса репозиториев
git remote set-url --add --push all user@host:repo.git
git remote set-url --add --push all /home/user/Dropbox/repo.git

Готово. Теперь можно залить все изменения в оба репозитория одновременно с помощью команды

git push all

Просто и удобно. Конфигурационный файл .git/config в итоге будет иметь такой вид:

# Стандартное содержимое разделов core и remote "origin" опущено

[remote "all"]
   pushurl = user@host:repo.git
   pushurl = /home/user/Dropbox/repo.git

Я предпочитаю редактировать .git/config напрямую. Информация актуальна для Git 2.7.

Комментарии

Comments powered by Disqus