如何用 Git 合并两个库(合并历史记录,解决冲突/改写路径)

本来已经不写文字博客了,一般心得都录成了视频(这在我看来是更好的方式),但是今天遇到一个关于 Git 的问题不太好重现也不便于录制视频,加上它本身很具有代表性也很有用,所以还是记录于此。

背景

一个中型规模项目,开始规划时就打算采用 C/S 架构,后端是单纯的 API 服务,前端在 Web 上搞一个 SPA,之后再搞其他端也就顺理成章了。只可以第一次弄没经验,有些细节最初没有考虑到。

创建项目的时候前后端真是完全分离的,分成了两个目录,创建了两个 repos。一开始只有一个人干的时候倒也没什么,开两个窗口切来切去也就罢了,后来一是部署起来麻烦,二来主要是其他开发者加入后,代码的版本管理、提交、合并、审核等等等等都变得越来越繁琐。

后来一想:架构上分离而已,干嘛非要两个目录两个 repos?真是自找麻烦!于是就开始考虑整合。

要求

把两个目录并成一个倒不难,但是要完整保留双方的历史记录就有些麻烦了,这也是唯一一个必须要实现的目标。

过程

首先为了便于描述,约定整合前两个目录分别叫做 frontendbackend,合并后的结构与名称应当如下:

- project/                  => 即最开始的 frontend,整合完后更名
  - .gitignore              => 合并两个 repos 的忽略文件
  - .git/                   => 最终仅余一个 repo
  + client/              
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值