Git:在一个命令中推动两个回购
我想在同一行中执行git push origin
和git push my_other_remote
。 可能?
您可以通过为origin
遥控器添加额外的推送网址来获得相同的效果。 例如,如果现有遥控器的网址如下所示:
$ 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
...将尝试推向两个存储库。
您可以将以下内容放在.git/config
文件中:
[remote "both"]
url = url/to/first/remote
url = url/to/other/remote
你现在可以使用git push both
来推送到这两个URL。
如果你还想从它们中获取数据 (对于同步很有用),你可以在.git/config
文件中添加以下几行:
[remotes]
both = origin, other
现在你也可以运行git fetch both
。