Git:一个命令推动两个回购

我想在同一行中做git push origingit push my_other_remote 。 可能?

您可以通过为origin遥控器添加额外的推送url来获得相同的效果。 例如,如果您现有的遥控器的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将推送到这两个存储库。 但是,您可能需要为此设置一个新的远程,以避免混淆。 例如:

  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