公司的项目被分为了两层一层web 层,一层src 层,web 层基本就是个空项目,仅仅配置了一个启动类和一些项目的配置。站在一个外包公司的角度而言这么分层对他们而言是有好处的。即他们可以只卖产品不卖源码又能给你web 层进行自我扩展。但是我们买了源码,对于我们的开发而言非常不方便。每次要编译下src 层,然后再编译下web 层,最后发布web 层,整个开发部署流程显得非常冗长,所以打算将这两个项目合并。由于我们的devops 全套流程又使用项目名称贯穿全文。包括监控体系等。 本地新建merge 文件夹作为工作空间 新建目录以web 项目命名
mkdir xxx-web
cd xxx-web
然后执行 git init 初始化
接着添加web 项目和src 项目
git remote add origin-web 黏贴对应的url
git remote add origin-src 黏贴对应的url
然后执行git fetch
git fetch origin-web
git fetch origin-src
合并操作
1、合并web
接着执行merge 操作,设置参数运行合并不相关的记录 参数--allow-unrelated-histories
git merge origin-web/master --allow-unrelated-histories
然后创建一个xxx-web-yyy ,并将对应的web层的内容使用git mv 命令复制进去
mkdir xxx-web-yyy
git mv !(.|..|\.git|xxx-web-yyy) xxx-web-yyy
然后执行提交
git commit -am'merge web'
2、合并src
一样执行merge 操作
git merge origin-src/master --allow-unrelated-histories
由于src 项目本身就是模块化项目所以此处不需要进行模块迁移直接提交就行
git commit -am'merge src'
项目迁移完成,然后使用idea打开项目进行项目修正
项目修正
- 1、
pom 文件修改,将web 作为一个模块添加到主pom 文件中,然后清理一些无用文件。入ignore 文件ci 文件等 - 2、重建
ci 流程。 - 3、启动项目,检查是否报错
最后检查项目没有问题之后,推至线上
|