git push для нескольких репозиториев одновременно [дубликат]



этот вопрос уже есть ответ здесь:



как я могу сделать git push давить не только origin но и другой удаленный репозиторий?



как git push - Это только псевдоним для git push origin, могу ли я псевдоним git push нажать на 2 удаленных репозитория по адресу один раз (только с этой одной командой)?



Я не ищу не-git скрипт здесь, но хотел бы настроить это для моего локального репозитория в git.



когда я попробовал это с помощью сценариев post-push, я потерпел неудачу.

580   3  

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

    Ничего не найдено.