一:前提:

公司新项目基于老版本代码库迁移过来,在此基础上开发新的功能和改版,老版本代码由另一个团队继续维护,新版本需要将老版本后续更新的一些内容合并过来。

二、需求:

有两个远程代码库(两个代码库都是基于同一个版本进行后续功能开发),现在要将两个代码库的新更新的内容进行合并,同时合并后保留两个代码库的提交历史。

三、解决思路:

将其中一个代码库伪装作为远程分支,与另一个代码库进行合并。

四、准备阶段:

1、将两个远程代码库clone到本地,并将其备份好,防止合并失败或者本地代码库乱掉。
2、将两个代码库进行标记,分别为repo1和repo2,将repo1中的文件合入到repo2中。

五、操作过程:

1、在一个版本库中,将本地的另外一个版本作为远程仓库,这里,我在repo2下,将repo1作为远程仓库,并将repo1起别名为newrepo
#这里repo1_address为其代码库地址
git add remote newrepo ../repo1_address/
2、从repo1仓库抓取数据到本地仓库
git fetch newrepo
3、将repo1仓库抓取的master分支作为新的分支checkout到本地分支,新分支名为repo1
git checkout -b repo1 newrepo/master
4、切换到repo2的master分支
git checkout master
5、将repo1合并到master分支
git merge repo1
这样,就将两个代码库合并完成了,并且保留了提交日志。其实过程很简单,下面将一些注意事项写出来,供大家参考,并在实践过程中加以注意。

注意事项:

1、newrepo/master只是repo的别名,不要在上面操作删除分支等操作,还是原来的代码库,否则把别人正在用的分支删了那就呵呵了。
2、merge时使用idea工具的merge功能,一定要注意细节,尤其是不是自己写的代码和写的人确认,本人这次涉及到的改动文件近一千,简直要瞎了,慢工出细活。
3、merge后对原有功能进行回归测试,确定完全没问题再上线。
4、若是文件有冲突、或要建立子目录,建议在repo1中先解决,再进行如上操作。

Git合并两个远程代码库相关推荐

  1. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  2. git远程代码回滚_【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚...

    git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退回到以前的某个commit ...

  3. Git合并两个不同的仓库

    1.说明 Git合并两个不同的仓库, 两个都是已经存在的仓库, 比如grpc-demo和Telemetry, 演示将grpc-demo下的工程整体放入到 Telemetry下面的方法, 同时保留代码的 ...

  4. 本地连接远程代码库——生成公钥SSH Key(Linux版)

    一.问题描述 在linux服务器上连接远程gitlab代码库,报错Please make sure you have the correct access rights and the reposit ...

  5. 达芬奇调色软件被曝两个远程代码执行缺陷

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 Blackmagci Software 公司最近修复了非常热门的达芬奇调色 (DaVinci Resolve) 软件中的两个漏洞,它们可导致攻击 ...

  6. Git 合并两个不同的仓库

    目录 第一步. 下载需要合并的分支 第二步. 添加需要合并远程仓库 第三步. 把base远程仓库中数据抓取到本仓库 第四步. checkount切换到base分支上,命名为 asf 第五步. 合并 总 ...

  7. git cherry-pick 多分支的代码库,将代码从一个分支转移到另一个分支

    git cherry-pick 教程 作者: 阮一峰 日期: 2020年4月27日 对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求. 这时分两种情况.一种情况是,你需要另一个分支的所有 ...

  8. git同步本地与远程代码命令

    Git在我们开发中使用率很高,常用的有以下一些命令: # 给git仓库添加远程地址 git remote add origin git@github.com:xxx/project.git # 将本地 ...

  9. git合并多个远程commit并提交

    查了很多博客,最后看了 https://segmentfault.com/a/1190000007748862 成功地把本地的提交合并了.不过因为我这些commit已经push到远程上了,所以和文章里 ...

  10. pycharm + git实现两台电脑代码同步

    说明:此篇文章是作者方便日后查阅所有,请不要按本文的方法搭建 1.下载msysygit,https://git-for-windows.github.io/ 点击download获取下载链接,可能由于 ...

最新文章

  1. 【大话设计模式】——浅谈设计模式基础
  2. TextView 添加Onclick 无效
  3. 风暴数码论坛教程--apk和odex的介绍和合并
  4. apache shiro jar包_只需要6个步骤,springboot集成shiro,并完成登录
  5. hive 的分隔符、orderby sort by distribute by的优化
  6. linux diff diffstat组合使用示例
  7. java和net共同点,Java和.NET中的垃圾回收机制比较
  8. 【转载】查看MSSQL数据库每个表占用的空间大小的方法
  9. oracle rman恢复表空间,Oracle数据库RMAN恢复之表空间和数据块介质的恢复
  10. java向应用程序传递参数_Java应用程序中的消息传递主体
  11. 数据归一化处理方法_科研常用的实验数据分析与处理方法
  12. jsf2.0---jsf的新特性
  13. GitHub Package Registry 发布!你依旧是那个我们所爱的 GitHub!
  14. Linux中文档与目录的特殊权限
  15. java人脸识别开源算法_开源-人脸识别认证-java封装
  16. Flash相关知识总结
  17. 新冠治愈之旅和未来的时光
  18. angr入门之CLE
  19. 常见鸟的种类及特点_鸟的分类
  20. 【Odoo】集成flowable,解决复杂的审批流

热门文章

  1. MSP430单片机学习视频
  2. 为什么视锥剔除重要,却又不重要 | Why Frustum Culling Matters, and Why It‘s Not Important
  3. 《TensorFlow技术解析与实战》——3.3 可视化的例子
  4. 解决Ubuntu18.04搜狗输入法无法使用的问题
  5. 大话西游手游网易版最新服务器,大话西游手游网易版
  6. 印刷五大要素:原稿、印版、油墨、承印物、印刷机械
  7. 重庆的flash游戏开发团队
  8. JavaWeb购物系统(课程设计)
  9. php开心农场 源码,开心农场源码(UCHome)PHP版下载
  10. Android音视频开发之——音频非压缩编码和压缩编码,神级Android进阶笔记