Faire cela manuellement n'est plus nécessaire , avec les versions modernes de git
! Voir la solution de Malvineous ci-dessous.
Reproduit ici:
git remote set-url origin --push --add <a remote>
git remote set-url origin --push --add <another remote>
Réponse originale:
C'est quelque chose que j'utilise depuis un bon moment sans conséquences graves et suggéré par Linus Torvalds sur la liste de diffusion git .
La solution de araqnid est la bonne pour introduire du code dans votre référentiel ... mais lorsque vous, comme moi, avez plusieurs équivalents faisant autorité en amont (je garde certains de mes projets les plus critiques clonés à la fois vers un amont privé, GitHub et Codaset), il peut être une douleur de pousser des changements à chacun, chaque jour.
Longue histoire courte, git remote add
toutes vos télécommandes individuellement ... puis git config -e
ajoutez une télécommande fusionnée. En supposant que vous ayez ce référentiel 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/*
... pour créer une télécommande fusionnée pour "Paws"
et "Codaset"
, je peux ajouter ce qui suit après tout cela:
[remote "Origin"]
url = git@github.com:Paws/Paws.o.git
url = git@codaset.com:elliottcable/paws-o.git
Une fois que j'ai fait cela, quand je le ferai git push Origin Master
, cela ira aux deux Paws/Master
et Codaset/Master
séquentiellement, ce qui facilitera un peu la vie.
git
, est incluse dans la réponse de Malvineous ci-dessous . La réponse acceptée est incorrecte.