Die manuelle Durchführung ist nicht mehr notwendig mit modernen Versionen von git
! Siehe Malvineous die Lösung, unter .
Hier wiedergegeben:
git remote set-url origin --push --add <a remote>
git remote set-url origin --push --add <another remote>
Ursprüngliche Antwort:
Das ist etwas, das ich schon eine ganze Weile ohne schlechte Folgen benutze und das von Linus Torvalds auf der Git-Mailingliste .
araqnid ist die richtige Lösung, um den Code in Ihr Repository aber wenn Sie, wie ich, mehrere gleichwertige maßgebliche Upstreams haben (ich habe einige meiner kritischeren Projekte sowohl in einen privaten Upstream, GitHub und Codaset geklont), kann es mühsam sein, jeden Tag Änderungen in jeden einzelnen zu übertragen.
Lange Rede kurzer Sinn, git remote add
alle Ihre Fernbedienungen einzeln und dann git config -e
und fügen Sie ein mergedremote hinzu. Angenommen, Sie haben dieses 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/*
um ein mergedremote zu erstellen für "Paws"
y "Codaset"
kann ich nach all dem das Folgende hinzufügen:
[remote "Origin"]
url = git@github.com:Paws/Paws.o.git
url = git@codaset.com:elliottcable/paws-o.git
Sobald ich das getan habe, kann ich, wenn ich git push Origin Master
wird es zu beiden Paws/Master
y Codaset/Master
der Reihe nach, was das Leben ein wenig einfacher macht.
46 Stimmen
Hinweis für neue Besucher, ab 2016: Die derzeit korrekte Vorgehensweise, die von der First Class
git
Funktionen, ist enthalten in bösartig 's Antwort unten . Die akzeptierte Antwort ist falsch.0 Stimmen
Ich habe die Antwort gefunden hier zur Verfügung gestellt sehr detailliert und zusammenfassend zu sein