git多仓库管理

作者: 罗蓁蓁 | 来源:发表于2021-10-13 14:55 被阅读0次

简介

我们开发的时候,需要把代码同步到多个远程仓库中去。此次项目开发,我们首先基于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

相关文章

  • git多仓库管理

    简介 我们开发的时候,需要把代码同步到多个远程仓库中去。此次项目开发,我们首先基于gitlib开发,开发到一定阶段...

  • git常用命令

    git config //配置详细 git init //初始化仓库 git remote //管理远程仓库 添加...

  • Git Note

    创建Git项目 创建仓库目录mkdir dir 初始化仓库git init Git文件管理 把文件加入仓库git ...

  • 多git仓库密钥管理

    1、如果没有id_rsa.xxx文件,先生成一个,有则跳过: 把生成的id_rsa.xxx.pub复制到git仓库...

  • Git 分支管理规范

    Git 仓库申请流程 开发主管向 Git 管理员提交 Git 仓库申请【邮件:发送给 Git 管理员,抄送给项目经...

  • Git常用指令记录

    git init 这个目录变成Git可以管理的仓库 git status 查看当前仓库状态 git diff re...

  • git常用命令

    git init 把当前目录变成git可以管理的仓库 git clone <地址> 克隆远程仓库 git br...

  • Google Git-Repo (Android)多仓库项目管理

    原文:Google Git-Repo (Android)多仓库项目管理 前言 如果不是 Android dev 可...

  • Git命令

    创建一个版本库(repository) $ git init #将该目录变成Git可以管理的仓库,该目录下,多一...

  • git分支管理规范

    Git 仓库申请流程 1. 开发主管向Git 管理员提交Git 仓库申请【邮件:发送给Git 管理员,抄送给项目经...

网友评论

    本文标题:git多仓库管理

    本文链接:https://www.haomeiwen.com/subject/ewzsoltx.html