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