git针对多远程仓库的管理(一)
背景:有些时候自己除了维护自己本地的仓库和私有的远程仓库外,需要从远程的开源项目中获取更新的代码,那就变成有两个或者以上的远程仓库了。这种情况下需要怎么处理呢?
一、使用gitlap导入码云的项目
这块直接通过URL import 把代码从码云引入到gitlap到就行了,具体步骤不写了。
二、让gitlap的仓库和码云的仓库关联
首先,gitlap的项目从 URL引入后,存在服务器的远程仓库,然后拉到本地,形成一个本地仓库。
这样就是一个远程仓库 http://10.10.58.117/neo0820/lilishop, 一个本地仓库。
但是这种情况下,码云原始仓库的更新代码就无从获知了。如何同时可以获知码云上原始仓库的代码更新呢?办法如下。
1.在本地仓库位置查看远程库
1 # 查看当前的远程库 2 git remote -v
这样可以显示出来一个远程仓库,例如:
默认来源是origin
2、添加码云远程库
# git remote add 自己起个名字 https://gitee.com/beijing_hongye_huicheng/lilishop
git remote add gitee https://gitee.com/beijing_hongye_huicheng/lilishop
添加成功后会看到列表中会多出刚才添加第二个远程库gitee
3.拉取远程第二个仓库,更新本地的gitee
的本地映像仓库,会新建一个分支为 远程库别名/分支名
,我这里是 gitee/master
,如果有多个分支,则是 gitee/分支1
, gitee/分支2
依次类推
git pull gitee
注意:1.本地的多仓库管理可以通过githubdesktop工具来查看管理、通过工具能看到不同的远程仓库映像用前缀分隔,但是最终本地的master分支只会有一支。
注意 2.私有的远程仓库是只会有origin这部分仓库分支,是不会有gitee这一部分的仓库分支,通过gitlab的网页端可以查看到。
4.以后更新仓库代码就使用,更新master就行。 如果有其他的再更新其他的分支。
git pull gitee master
5.更新完后使用 git push origin master
推送到自己的gitlab的远程
私有库。
git push origin master
注意:
git pull
是从起源拉倒本地的master git pull (from) origin (to) master
git pull gitee
就是从外部远程gitee仓库拉取到本地 git pull (from) gitee
git pull gitee master
就是从外部远程gitee仓库拉取到本地master git pull (from) gitee (to) master
git push
git push gitee
就是把本地的master推送到 别人远程gitee仓库,git push (to) gitee (from) master 最好别别这么干,当然做了也得看别人接不接收。
当然从技术层面也可以一次性提交到所有的远程仓库 origin、gitee
git push --all
IDEA在推送的时候也支持选择不同的远程仓库进行推送