代码迁移,合并双仓库


前言

公司原有A服务,B服务等多个服务,现有以下问题,A服务为公共服务,多个服务均依赖于此,在新版本计划移除A服务,各个服务自己进行承接对应的接口迁移代码。


以下是本篇文章正文内容,下面案例可供参考

一、如何对两个仓库进行合并

两种思路

  1. 挨个接口的文件进行复制,粘贴。适用接口少的情况下,多接口相对麻烦
  2. git的分支进行合并,这里要用到一个项目多个git仓库的方式,适用多接口

二、具体操作步骤

A仓库新分支

第一步 移除controller以及接口

首先我们对新分支做以下操作,B服务前端整理在使用的接口,通过自定义注解进行标记,以下是我自己用的。
其实就是自己随便整一个,标记现有文档,自己记得住是啥就好,方便删除不用的接口或者其他服务或者废弃的接口。移除接口后即可删除

import java.lang.annotation.*;
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomAnnotation {
}

第二步 移除service以及实现类impl

移除不需要的接口,对无用的service进行移除

第三步 移除dao层(mapper以及xml)

在这里插入图片描述

第四步 移除pojo、cache、config、enum以及util等,并复查service

因为考虑到引用问题故从上到下删除,复查service是为了防止不规范的调用,util调用service
在这里插入图片描述

第五步 提交新分支

B分支

通过git指令添加A仓库,地址根据自己代码仓库替换

git remote add A 代码仓库地址

在这里插入图片描述
可能会有部分刷新不出来,通过下方指令就可以了

git fetch A(上方remote的名称)

添加完成之后
在这里插入图片描述

如果idea出现报错

refusing to merge unrelated histories

代表拒绝合并不相关的历史记录,通过下方指令进行强制合并

git merge A(上方remote的名称)/分支号 --allow-unrelated-histories

合并后操作

合并相同名称的service,否则bean冲突异常,尤其要注意新引入的类是否与原先就有的,有相同的,并且进行合并目录,同名称的bean,方法合并,同方法考虑是否相同,不相同考虑原有服务是否废弃,都在使用,考虑通过版本号控制。例如新引入为V2版本这种,相同代码过多则考虑兼容。
在这里插入图片描述


以上就是今天要讲的内容

  • 36
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小阳小朋友

随便吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值