Non è più necessario farlo manualmente , con le versioni moderne di git
! Vedi la soluzione di Malvineous , di seguito.
Riprodotto qui:
git remote set-url origin --push --add <a remote>
git remote set-url origin --push --add <another remote>
Risposta originale:
Questo qualcosa che sto usando da un bel po 'senza conseguenze negative e suggerito da Linus Torvalds sulla mailing list di git .
La soluzione di araqnid è quella giusta per portare il codice nel tuo repository ... ma quando tu, come me, hai molteplici upstream autorevoli equivalenti (tengo alcuni dei miei progetti più critici clonati su entrambi a monte, GitHub e Codaset), può essere un dolore spingere i cambiamenti a ciascuno, ogni giorno.
Per farla breve, git remote add
tutti i telecomandi singolarmente ... e poi git config -e
e aggiungi un telecomando unito. Supponendo di avere questo repository 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/*
... per creare un telecomando-unito per "Paws"
e "Codaset"
, dopo tutto ciò posso aggiungere:
[remote "Origin"]
url = git@github.com:Paws/Paws.o.git
url = git@codaset.com:elliottcable/paws-o.git
Una volta fatto questo, quando git push Origin Master
lo farò, spingerà verso entrambi Paws/Master
e in Codaset/Master
sequenza, rendendo la vita un po 'più facile.
git
caratteristiche, è incluso nel malvineous 's risposta qui sotto . La risposta accettata non è corretta