git push для нескольких репозиториев одновременно [дубликат]
этот вопрос уже есть ответ здесь:
pull / push из нескольких удаленных мест
14 ответов
как я могу сделать git push давить не только origin но и другой удаленный репозиторий?
как git push - Это только псевдоним для git push origin, могу ли я псевдоним git push нажать на 2 удаленных репозитория по адресу один раз (только с этой одной командой)?
Я не ищу не-git скрипт здесь, но хотел бы настроить это для моего локального репозитория в git.
когда я попробовал это с помощью сценариев post-push, я потерпел неудачу.
3 ответов:
Я не думаю, что вы можете сделать это, просто установив флаг на git, но вы можете изменить файл конфигурации, который позволит вам нажать на несколько удаленных репозиториев без ручного ввода их всех (ну только набрав их в первый раз, а не после)
на
нет ручного редактирования
вы можете добавить несколько URL-адресов в удаленную ветку (например,
all) непосредственно из командной строки с помощьюgit config --add remote.xyz.urlС разными URL:git config --add remote.all.url ssh://user@server/repos/g0.git git config --add remote.all.url ssh://user@server/repos/g1.gitполностью автоматическая
если вы супер ленивый и не нужно копировать / paster URL несколько раз, это для вас:
function git-add-push-all() { while read -r name url method; do git config --add remote.all.url "$url" done < <(git remote -v | awk '!/^all/ && /push/') } git-add-push-all # from git (sub)directoryвозможен полный сценарий bashy (test
$nameи$method), ноawkсладко и есть любовь к каждый.Push
затем вы можете нажать на все удаленные с
git push allссылки
вы также можете получить url-адрес от настроенных пультов дистанционного управления:
for repo in g0 g1 ... do git config --add remote.all.url `git config remote.$repo.url` doneгде g0, g1,... это имена ваших пультов дистанционного управления.
Comments