我可以在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