git同时推送到多个存储库

git同时推送到多个存储库,git,version-control,dvcs,Git,Version Control,Dvcs,如何使git push不仅推送到origin,而且推送到另一个远程存储库 由于git-push只是git-push-origin的别名,我可以将git-push别名为一次推送到2个远程存储库吗(只需一个命令) 我不是在这里寻找一个非git脚本,而是想在git中为我的本地存储库设置这个脚本 当我尝试使用post push脚本时,我失败了。我认为你不能仅仅通过在git上设置一个标志来实现这一点,但是你可以修改一个配置文件,这样你就可以推送到多个远程存储库,而无需手动全部输入(只需在第一次输入,而不是

如何使
git push
不仅推送到
origin
,而且推送到另一个远程存储库

由于
git-push
只是
git-push-origin
的别名,我可以将git-push别名为一次推送到2个远程存储库吗(只需一个命令)

我不是在这里寻找一个非git脚本,而是想在git中为我的本地存储库设置这个脚本


当我尝试使用post push脚本时,我失败了。

我认为你不能仅仅通过在git上设置一个标志来实现这一点,但是你可以修改一个配置文件,这样你就可以推送到多个远程存储库,而无需手动全部输入(只需在第一次输入,而不是之后输入)

.git/config
文件中,您可以将多个URL添加到定义的远程:

[remote "all"]
    url=ssh://user@server/repos/g0.git
    url=ssh://user@server/repos/g1.git
如果您
git push all
,现在您将推送到所有远程URL。

无需手动编辑 您可以使用带有不同URL的
git config--add remote.xyz.URL
直接从命令行向远程分支添加多个URL(例如
all
):

git config--添加remote.all.urlssh://user@服务器/repos/g0.git
git config--添加remote.all.urlssh://user@server/repos/g1.git
全自动 如果你非常懒惰,不忍心复制/粘贴多次URL,这是为你准备的:

函数git-add-push-all(){ while read-r name url方法;do git config--添加remote.all.url“$url”
完成<您还可以从配置的远程设备获取url:

for repo in g0 g1 ...
do
    git config --add remote.all.url `git config remote.$repo.url`
done

其中g0、g1……是遥控器的名称。

遥控器“黑客”可能就是我要找的。(它不是重新定义git push->
git push源头的别名,而是做了我想做的事情。)在
.git/config
中,一次可以将多个
url
添加到
远程
中。谢谢。有些东西对我不起作用:那里有一个很棒的@g19fanatic。它的作用类似于charm:)如果两个repo对同一用户名(电子邮件)有不同的密码,这是特别的?有趣的是,找到重复的问题/答案花了将近4年的时间。谢谢你的回答。我刚刚设置了这个问题,可能值得注意的是,我需要在URL中省略ssh/(我使用的是bitbucket和bluehost)因此,我的git config命令如下所示:git config--add remote.all.urluser@server/repos/g0.git附加信息:第一个
git config-add
将创建一个获取和推送远程,而随后的
git config-add
将只创建一个推送远程。很抱歉,Windows用户如何使用您的自动脚本?谢谢。@Са试试埃杜阿尔德洛佩兹:我有Windows 10 LTSB,目前正在Windows上运行。谢谢。
for repo in g0 g1 ...
do
    git config --add remote.all.url `git config remote.$repo.url`
done