我希望在同一行中git push origin
和git push my_other_remote
。可能的?
答案 0 :(得分:91)
您可以通过为origin
遥控器添加额外的推送网址来获得相同的效果。例如,如果现有远程控制器的URL如下:
$ git remote -v
origin me@original:something.git (fetch)
origin me@original:something.git (push)
my_other_remote git://somewhere/something.git (fetch)
my_other_remote git://somewhere/something.git (push)
你可以这样做:
git remote set-url --add --push origin git://somewhere/something.git
然后,git push origin
将推送到两个存储库。您可能希望为此设置一个名为both
的新远程,以避免混淆。例如:
git remote add both me@original:something.git
git remote set-url --add --push both me@original:something.git
git remote set-url --add --push both git://somewhere/something.git
......然后:
git push both
...将尝试推送到两个存储库。
答案 1 :(得分:13)
您可以将以下内容放在.git/config
文件中:
[remote "both"]
url = url/to/first/remote
url = url/to/other/remote
现在,您可以使用git push both
推送到两个网址。
如果您还希望从中获取(对同步很有用),您可以在.git/config
文件中添加以下行:
[remotes]
both = origin, other
现在您还可以运行git fetch both
。
答案 2 :(得分:0)
仅在已提供的出色答案中添加了少量内容-如果您不想为添加“ both”和“ both”而烦恼,并且只想将所有操作自动推送到两个存储库,只需将第二个存储库作为另一个URL添加到git配置
[remote "origin"]
url = someUrl.git
url = secondUrl.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
现在“ git push”同时使用了两者。