git push to multiple repositories simultaneously
本问题已经有最佳答案,请猛点这里访问。
我如何使
由于
我不是在这里寻找一个非Git脚本,而是想在Git中为我的本地存储库设置这个脚本。
当我尝试使用推后脚本时,我失败了。
我不认为你只需要在git上设置一个标志就可以做到这一点,但是你可以修改一个配置文件,这样你就可以在不手动输入所有内容的情况下,将它们推送到多个远程存储库(只在第一次输入它们,而不是在之后输入它们)。
在
1 2 3 | [remote"all"] url=ssh://user@server/repos/g0.git url=ssh://user@server/repos/g1.git |
如果您现在是
无手动编辑
您可以直接从命令行向远程分支(例如
1 2 | git config --add remote.all.url ssh://user@server/repos/g0.git git config --add remote.all.url ssh://user@server/repos/g1.git |
号全自动
如果您非常懒惰,并且多次不愿意复制/粘贴URL,那么这是为您准备的:
1 2 3 4 5 6 7 | function git-add-push-all() { while read -r name url method; do git config --add remote.all.url"$url" done < <(git remote -v | awk '!/^all/ && /push/') } git-add-push-all # from git (sub)directory |
一个完整的害羞的脚本是可能的(测试
然后你可以用
1 | git push all |
。工具书类
- Git配置(1)手册页
您还可以从配置的远程服务器获取URL:
1 2 3 4 | for repo in g0 g1 ... do git config --add remote.all.url `git config remote.$repo.url` done |
其中g0,g1,…是你的遥控器的名字。