Robienie tego ręcznie nie jest już konieczne , dzięki nowoczesnym wersjom git
! Zobacz rozwiązanie Malvineousa poniżej.
Reprodukcja tutaj:
git remote set-url origin --push --add <a remote>
git remote set-url origin --push --add <another remote>
Oryginalna odpowiedź:
Tego używam od dłuższego czasu bez złych konsekwencji i zasugerował Linus Torvalds na liście mailowej git .
Rozwiązanie araqnid jest odpowiednie do wprowadzenia kodu do repozytorium… ale kiedy, tak jak ja, masz wiele równoważnych autorytatywnych upstreamów (trzymam niektóre z moich bardziej krytycznych projektów sklonowane zarówno na prywatnym serwerze, GitHub, jak i Codaset), codzienne zmiany mogą być trudne.
Krótko mówiąc, git remote add
wszystkie Twoje piloty indywidualnie… a następnie git config -e
dodaj scalonego pilota. Zakładając, że masz to repozytorium 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/*
… Aby utworzyć scalony-zdalny dla "Paws"
i "Codaset"
, mogę dodać następujące po tych wszystkich:
[remote "Origin"]
url = git@github.com:Paws/Paws.o.git
url = git@codaset.com:elliottcable/paws-o.git
Kiedy to zrobię, kiedy git push Origin Master
to zrobię, popchnie to jedno Paws/Master
i drugie Codaset/Master
, co ułatwi życie.
git
cech, jest zawarty w malvineous „s odpowiedź poniżej . Przyjęta odpowiedź jest niepoprawna.