从多个远程位置拉/推
简而言之:有没有办法让git repo推送到远程回购列表(而不是单个“起源”)?
漫长的:当我在多台计算机上开发应用程序时,我经常遇到这种情况,它们具有不同的连接性 - 例如在运输途中使用笔记本电脑,在我处于某个位置时使用计算机“A”,以及使用另一台计算机“B “而另一个。 此外,笔记本电脑可能只与“A”或“B”连接,有时两者都连接。
我想让git总是从当前连接的所有计算机上“拉”和“推”到所有计算机上,因此从一台计算机跳到另一台计算机并继续无缝工作更容易。
  手动执行此操作不再需要 ,使用现代版本的git !  见下面Malvineous的解决方案。 
转载于此:
git remote set-url origin --push --add <a remote>
git remote set-url origin --push --add <another remote>
原始答案:
这是我已经使用了一段时间没有不良后果,并由Linus Torvalds在git邮件列表中提出的建议。
araqnid的解决方案是将代码引入你的仓库的正确解决方案......但是当你像我一样拥有多个等效的权威上游(我将一些更关键的项目克隆到私有上游,GitHub和Codaset)时,它可能是一个痛苦的推动每一个变化,每一天。
  长话短说, git remote add所有的遥控器......然后git config -e并添加一个合并遥控器。  假设你有这个仓库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/*
  ...为"Paws"和"Codaset"创建一个合并远程,我可以添加以下所有内容: 
[remote "Origin"]
    url = git@github.com:Paws/Paws.o.git
    url = git@codaset.com:elliottcable/paws-o.git
  一旦我完成了这个任务,当我git push Origin Master ,它会依次推到Paws/Master和Codaset/Master ,让生活变得更轻松。 
最新版本的git(截至2012年10月)允许您从命令行执行此操作:
git remote set-url origin --push --add user1@repo1
git remote set-url origin --push --add user2@repo2
git remote -v
  然后git push会推送到user1 @ repo1,然后推送到user2 @ repo2。  离开了--push如果你也希望能够git pull从他们。 
