Git多个远程仓库,本地仓库+多远程仓库
平时一直使用的是GitHub管理自己的代码,工作之后,因为是公司的项目,Leader创建项目托管仓库,使用的是腾讯工蜂,我进行代码维护。由于自己的习惯,之前也把代码放在了GitHub上,现在想做的是,让Git关联多个远程仓库,同时进行双端推送(同时推送两个远程仓库)。
记一次Git关联多个远程仓库开始。
使用自己的博客源代码库YunyangBlogDemo进行演示Git关联多个远程仓库。
自己模拟Leader创建项目仓库(也当一次虚拟Leader)

自己原本在GitHub上博客源代码库

看一下自己原本在GitHub上博客源代码库的.git文件夹

这个.git文件夹是隐藏起来的。

勾选/显示隐藏的项目

.git/config,打开这个文件,我使用的Notepad++软件进行打开。

可以看到我们的远程推送remote,和主分支master。远程推送的url是我GitHub上的远程仓库。
现在添加一个腾讯工蜂的远程仓库。

添加完成,保存文件。
这是修改.git/config这个文件,也可以直接使用git命令行进行操作
git remote add yunyang https://git.code.tencent.com/yunyang_u/BlogDemo.git
yunyang —— 自定义名字,后面进行推送和拉取都需要用到
https://git.code.tencent.com/yunyang_u/BlogDemo.git —— 仓库所对应的HTTP
现在已经是一个本地仓库+两个远程仓库。
我们现在pull拉取一下仓库代码,然后在进行push推送一下仓库代码。
在本地仓库项目根目录下,打开git命令行窗口,进行操作。
先从GitHub上拉取到本地,在推送到GitHub(因为代码都是最新的,可以从命令行窗口提示得知)
由于腾讯工蜂上没有,所以直接push到上面。

刷新一下腾讯工蜂,可以看到代码已经到远程仓库。

总结一下
使用下面的命令可以分别从两个远程仓库拉取和推送到两个远程仓库。
// 拉取推送到GitHub上
git pull origin master
git push origin master
// 拉取推送到腾讯工蜂上
git pull yunyang master
git push yunyang master
但是还是有点不满足,毕竟每次更新远程仓库的时候,都要两次推送,能不能一次推送的呢。完全是可以的。但是这种操作也是有弊端的,根据场景选择适合的操作。此操作适用于多Push少Pull的。而我这边刚好需要这种操作。
一行Git命令行即可
git remote set-url --add origin https://git.code.tencent.com/yunyang_u/BlogDemo.git
在Git窗口中,执行完此操作后,.git/config文件里面就变了,(这是肯定的呢【笑哭】)
来看一下.git/config文件内容

现在可以使用Git命令行进行一行命令行同时推送两个远程仓库。
git push origin master
测试一下
在README.MD中加个标题,博客的示例代码。
来看Git命令行窗口

可以看到确实推送了两个远程仓库。
记一次Git关联多个远程仓库结束。