我可以在git中的单个命令中推送到多个存储库吗?

基本上我想做一些像git push mybranch to repo1, repo2, repo3

现在我只是多次input推文,如果我急于推送完成,我只是把它们全部发送到后台git push repo1 & git push repo2 &

我只是想知道,如果git本身支持我想要做的,或者如果有一个聪明的脚本,或者可能编辑本地回购configuration文件的方式说,分支应推到多个遥控器。

在git中,每个远程可以有多个URL,即使git remote命令似乎没有公开我检查过的最后一个。 在.git/config ,像这样:

 [remote "public"] url = git@github.com:kch/inheritable_templates.git url = kch@homeserver:projects/inheritable_templates.git 

现在你可以说“ git push public ”来同时推送回购。

我所做的是在我的主目录中有一个单一的裸存储库,我推送到。 该存储库中的更新后钩子然后将其推送或rsyncs到其他几个公开可见的位置。

这是我的钩子/更新后:

 #!/bin/sh # # An example hook script to prepare a packed repository for use over # dumb transports. # # To enable this hook, make this file executable by "chmod +x post-update". # Update static info that will be used by git clients accessing # the git directory over HTTP rather than the git protocol. git-update-server-info # Copy git repository files to my web server for HTTP serving. rsync -av --delete -e ssh /home/afranco/repositories/public/ afranco@slug.middlebury.edu:/srv/www/htdocs/git/ # Upload to github git-push --mirror github