使用Git SubModule对Maven Module进行优化

这篇文章主要讲,如何将Maven Module功能与Git SubModule功能配合使用的问题。

之所以有这篇文章,是因为在使用Maven管理Java项目的过程中,当项目逐渐发展到一点规模后,我们将项目进行模块划分,将不同业务功能拆分为不同的Maven Module,模块之间有依赖关系,但可以分开部署。

但紧随而来的问题是:

  1. 当项目模块越来越多的时候,项目的编译时间越来越长
  2. 我们使用Gitlab CI做持续集成与持续交付。 Gitlab CI的持续集成与交付的是由每次Commit与每次Release Tag触发的。也就是说,每次触发CI的时候,各个模块都需要跑一边集成测试,而更麻烦的在于,无法使用Gitlab CI直接对项目进行自动部署,因为你不能每次发布的时候,都将所有的子模块都部署一遍。

more >>

Git常用命令集

生成SSH Key

ssh-keygen -t rsa -C “committer_email@committermail.com

查看自己拥有的权限

ssh -lgit
exp: ssh -lgit git.jpushoa.com

添加并提交到本地库

git commit -m ‘your comment’

将本地仓库添加到远程库

git remote add origin

分支

git branch -r #查看所有分支
git branch [branch_name] #创建新分支
git checkout [branch_name] #切换到分支
git push origin branch_name #上传分支到远程服务器
git branch –set-upstream master origin/master #将本地分支链接到远程分支

Tag

git tag #显示标签
git tag -a v3.1.1 -m ‘version 3.1.1’ #添加标签
git push origin v3.1.1 #推送到云端
git tag -d v3.1.1 # 删除标签
git push origin :refs/tags/v3.1.1 # 将删除操作更新到远程git库