配置git同时push到两个远端库的简单方法
作者:网络转载 发布时间:[ 2016/2/16 17:43:38 ] 推荐标签:配置管理
近在写一个开源的论坛系统,在发布代码时选择了github和coding这两个平台,我手懒,不想敲两次git push了,所以说突然有了一个很奇怪的需求:用一条git push同时push到两个远端代码库。当然说写个sh脚本当然肯定能解决,但是我对那个不太熟悉,所以说搜索了一下相关资料,找到一篇问答讨论了这个问题
以下是解决方法,转载自终端下如何配置 git 使其可以同时 push 到两个远程仓库?
我用过两种方法,早的时候是设定多个 remote,然后写一个 alias,比如:
$ git config alias.pushall "!git push origin && git push dev"
后来在某一个版本(忘了具体的版本号)升级之后,Git 多了一项设置,使得你可以为一个 remote 设置多个 pushurl。比如说你问题里的例子,我可以不要 remote "dev",只留下 remote "origin",然后加一句:
git remote set-url --add --push origin git@gitlab.com:root/XXX.git
在这之后,你的 remote "origin" 变成类似如下的结构:
[remote "origin"]
url = git@github.com:SegmentFault/XXX.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = git@github.com:SegmentFault/XXX.git
pushurl = git@gitlab.com:root/XXX.git
如此一来,我可以直接 git push origin 可以推向两个 repos 了。
这两种方法其实各有各的适用场景,自己取舍吧。
请注意,我亲测后发现,这篇原文中提到的加另外一个代码库的命令有错误,set-url前面不应该有"--"
原文中是
git remote --set-url --add --push origin git@gitlab.com:root/XXX.git
这个是错的,我已经在上面引用中改正了
我该如何使用这个功能?
看完之后我试了一下,这个应该这么用
1、先把你要第一个push的代码用git remote add这种通常的办法添加好,这里将这个远端库命名为bucket
git remote add bucket git@git.coding.net:xxxxx
2、第二步,用set-url这个参数将第二个代码库添加上去
git remote set-url --add --push bucket git@gitlab.com:root/XXX.git
然后用git remote -v 看一下已添加的代码库,会看到类似下文的结果
bucket git@git.coding.net:xxxxx (fetch)
bucket git@git.coding.net:xxxxx (push)
bucket git@gitlab.com:root/XXX.git (push)
这样可以了,然后试一下push代码到bucket,可以观察到git按照顺序自动把东西push到了远端
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11