Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

git push на два сервера [дубликат]

На данный вопрос уже ответили: Отправить изменения в несколько репозиториев одной командой push 2 ответа Ситуация такова, что у меня есть ДОМАШНИЙ сервер, с установленным гит и апачем. на нем хранится репозиторий и хуком развертывается на веб-морду.
Требуется хранить его копию на bitbucket, github.
добавил в конфиг
[remote "origin"] url = garmayev@server.dev:/var/git/*******.git fetch = +refs/heads/*:refs/remotes/origin/* [remote "bitbucket"] url = ssh://git@bitbucket.org/garmayev/*******.git fetch = +refs/heads/*:refs/remotes/origin/*
Вопрос: можно ли как-то автоматизировать push на два сервера? Т.е. чтобы не вводить каждый раз
git push origin
git push bitbucket
а ввести один раз git push и усе. На данный момент на последнюю команду реп пушится только на origin


Ответ

Делайте так
git remote | xargs -L1 git push
Получить через команду remote список удаленных репозиториев, и вызвать для каждой команду push Для облегчения ввода такой длинной команды, можно завести alias
git config --global alias.pushall '!git remote | xargs -L1 git push'
После этого, можно вместо длинной команды набирать
git pushall
"!" - символ используется, если мы вызываем некую внешнюю команду, которая не является подкомандой git(в нашем случае, это подкоманда является вызов команды git). В указанной ссылке в самом внизу страницы есть пояснение использования этого символа при создании алиасов.

Комментариев нет:

Отправить комментарий