git 给远程库 添加多个url地址

摘要:
目录[-]前提条件:使用过程原理进行分析注:其他参考文章作者:Shede333主页:http://my.oschina.net/shede333&&  http://blog.sina.com.cn/u/1509658847版权声明:原创文章,版权声明:免费转载-非商业-非衍生-保留签名|[CreativeCommonsBY-NC-ND3.0][]前提:一般来说,我们为git添加远程库
 目录[-]

作者:shede333
主页:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u/1509658847
版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][]


前提

一般来说,我们为git增加远程库,一般都是
git remote add origin <url> ( 你可以使用真实的地址来代替 <url> )

但是你可能想要把你的本地的git库,既push到github上,又push到开源中国的Git@OSC上,怎么解决呢。
有人可能会用两个甚至多个远程库,即再添加一个远程库git remote add origin2;
这个方法很低效,因为你要git push 两次才能完成push到两个库。

其实还有一个方法,git的一个远程库 可以对应多个地址,即我能让 远程库origin拥有多个url地址。 方法如下:

使用流程

首先,我们从零开始, 假设你现在想要增加3个远程库地址,分别为 :

<url1> https://git.oschina.net/shede333/swioslibary.git
<url2> https://git.oschina.net/shede333/swscrollbar.git
<url3> https://github.com/shede333/CoreAnimationTestSW.git

首先,先增加第一个地址 git remote add origin <url1>
然后增加第二个地址 git remote set-url --add origin <url2>
增加第三个地址 git remote set-url --add origin <url3>
....依次类推

这样就完成了添加多个地址到origin库中了, 以后只要使用git push origin master 就可以一次性push到3各库里面了(使用git push也可)

原理解析

git remote set-url --add origin 就是往当前git项目的config文件里增加一行记录
config文件打开方式有两种:

  1. 使用命令git config -e
  2. 在当前git项目的根目录下,文件位于 .git/config (.git目录为隐藏文件)

你每执行一次git remote set-url --add origin 就会增加一行,如下图:

git remote -v:显示当前所有远程库的详细信息,显示格式为 远程库名字 url连接(类型)

git-remote

所以说,你直接在config里面直接添加url来修改也是可以的,不必去执行git命令。

注意

使用git push origin master时,你可以push到origin的多个url地址,
但是使用 git pull时,只能拉取origin里的一个url地址(即fetch-url,如上图),这个fetch-url默认为 你添加的到origin的第一个地址
如果你想更改,只需要更改config文件里,那三个url的顺序即可,fetch-url会直接对应排行第一的那个utl连接。

Other

我最近看见这篇文章也不错,原理相似:将项目同时托管到Github和Git@OSC
有兴趣的可以看看

参考文章

IDEA/Git 设置多个push远程仓库或者同时提交多个push仓库



来自于: http://my.oschina.net/shede333/blog/299032

免责声明:文章转载自《git 给远程库 添加多个url地址》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php判断表单是否提交mac上使用cnpm搭建npm私有仓库,并上传/下载私有npm包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MongoDB 搭建分片集群

在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群。分片集群(Sharded Clustered)的服务器分为三中类型:Router(mongos),Config Server 和 Shard(Replica Set 或...

axios用headers传参,设置请求头token

新建一个配置文件http.js   // 导入axios import axios from 'axios'; // 全局配置默认路由 axios.defaults.baseURL = 'http://192.168.0.157:8989/xxxx/xxx/'; axios.interceptors.request.use(function (confi...

git如何移除某文件夹的版本控制

目录结构如下 project bin lib src ...... 执行如下的操作 git add. git commit -m "add bin/ lib/ src/" git push origin master 突然发现原来lib目录不需要提交到版本库,但是现在远程已经存在该目录,what should I...

JS URL参数传递 谷歌乱码解决

//第一个页面 var name=encodeURIComponent("参数"); var url="test1.html?name="+name; //第二个页面 var name=GetUrlParameters("name"); // 获取参数方法 name=decodeURIComponent(name); //encodeURICompon...

HTTP,URL,FS 模块搭建一个静态WEB服务器

WEB服务器: 一般指网站服务器,是指驻留在因特网上某种类型计算机的程序,可以向浏览器等Web 客户端提供文档,也可以放置网站文件让全世界浏览,还可以放置数据文件,让全世界下载,目前最主流的Web服务器有 Apache,Nginx,IIS等。 NodeJS 创建一个WEB服务器, 可以让我们访问Web服务器上面的网站 可以让我们下载Web服务器上面的文件...

HTTP协议从入门到大牛,初识HTTP协议(学习笔记)

HTTP数据传输协议   当访问一个网页时,浏览器会向服务器发起一条HTTP请求,接着服务器会去寻找相应的资源,如果请求成功,就会把这个对象,对象类型,对象长度以及其他的信息放在HTTP响应中,发送给客户端。   因为资源种类太多,所以WEB服务器在返回响应时会为HTTP对象附加一条MIME类型(数据类型),当浏览器接收到数据时,会去查看这个MIME类型,...