Fazer isso manualmente não é mais necessário , com versões modernas do git
! Veja a solução da Malvineous , abaixo.
Reproduzido aqui:
git remote set-url origin --push --add <a remote>
git remote set-url origin --push --add <another remote>
Resposta original:
Isso é algo que venho usando há um bom tempo sem consequências ruins e sugerido por Linus Torvalds na lista de discussão do git .
A solução da araqnid é a mais adequada para trazer código para o seu repositório ... mas quando você, como eu, tem vários upstream autoritativos equivalentes (eu mantenho alguns dos meus projetos mais críticos clonados em um upstream privado, GitHub e Codaset), pode ser uma dor empurrar mudanças para cada uma, todos os dias.
Para encurtar a história, git remote add
todos os seus controles remotos individualmente ... git config -e
e adicione um controle remoto mesclado. Supondo que você tenha este repositório config
:
[remote "GitHub"]
url = git@github.com:elliottcable/Paws.o.git
fetch = +refs/heads/*:refs/remotes/GitHub/*
[branch "Master"]
remote = GitHub
merge = refs/heads/Master
[remote "Codaset"]
url = git@codaset.com:elliottcable/paws-o.git
fetch = +refs/heads/*:refs/remotes/Codaset/*
[remote "Paws"]
url = git@github.com:Paws/Paws.o.git
fetch = +refs/heads/*:refs/remotes/Paws/*
… Para criar um controle remoto mesclado para "Paws"
e "Codaset"
, posso adicionar o seguinte depois de todos:
[remote "Origin"]
url = git@github.com:Paws/Paws.o.git
url = git@codaset.com:elliottcable/paws-o.git
Depois de fazer isso, quando for git push Origin Master
, ele passará para ambos Paws/Master
e Codaset/Master
sequencialmente, tornando a vida um pouco mais fácil.
git
características, está incluído na malvineous 's resposta abaixo . A resposta aceita está incorreta.