关于git:GIT多仓库管理

简介

咱们开发的时候,须要把代码同步到多个近程仓库中去。此次我的项目开发,咱们首先基于gitlib开发,开发到肯定阶段,咱们筹备开源,于是上线码云gitee,这时新建了一个仓库,以前的提交记录留在了内网的gitlab,并且当前的开发均在码云gitee进行。而后,因为内网我的项目需要,须要同步治理仓库gitlabgitee,这个时候就须要同步代码了。

办法有很多,咱们介绍一种。

1.关联近程库

咱们以gitee为主体,从giteeclone出一份本地仓库。而后,关联gitlab的近程仓库:

git remote add gitlab git@10.12.3.198:luoshunyuan/OneOS-Lite.git

关联实现后,应用git remote -v查看:

gitlab  git@10.12.3.198:luoshunyuan/OneOS-Lite.git (fetch)
gitlab  git@10.12.3.198:luoshunyuan/OneOS-Lite.git (push)
origin  git@gitee.com:xuxeu/OneOS-Lite.git (fetch)
origin  git@gitee.com:xuxeu/OneOS-Lite.git (push)

2.拉取giteegitlab代码

因为,咱们的提交都以gitee为主,因而,首先拉取gitee的代码。

git pull

咱们在第一次同步的时候,须要拉取gitlab代码,并创立本地分支:

git clone git@10.12.3.198:luoshunyuan/OneOS-Lite.git
git checkout -b dev origin/dev

3.提交到gitlab

在关联好的gitee仓库中,执行命令来合并gitee代码到gitlab仓库中:

git push gitlab dev

这是,如果报错无奈推送,则能够强制推送:

git push gitlab dev -f

4.合并历史记录

执行了第三步操作后,gitlab近程仓库中将只会存在强制推送的gitee的历史记录了。

但,还好咱们之前在第二步,有拉过gitlab代码,并创立了本地分支。因而咱们执行拉取操作,这时它会揭示咱们:

fatal: refusing to merge unrelated histories

这是能够执行以下命令,来疏忽版本不同造成的影响:

git pull --allow-unrelated-histories

而后,进行合并merge,推送代码。这时,咱们能够在近程仓库上看到,所有的历史记录都曾经回来了。

5.之后的同步

之后的同步就比较简单了。每次都从gitee近程仓库拉取代码到本地,而后再次推送到gitlab即可。

关注&&分割

gitee: https://gitee.com/cmcc-oneos/OneOS-Lite

docs: https://oneos-lite.com/

公众号:CMCC-OneOS

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据