Java面试11|Maven与Git
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试11|Maven与Git相关的知识,希望对你有一定的参考价值。
git的命令一定要掌握,如果学习可以参考:廖雪峰的官方网站
git学习:http://learngitbranching.js.org/?demo
1、Maven 生命周期及Maven多项目聚合与继承
Maven的生命周期分如下的9个阶段。
(1)clean 清理自动生成的文件,也就是target目录
(2)Validate 验证Maven描述文件是否有效
(3)Compile 编译java代码
(4)Test 运行测试代码
(5)Package 项目打成war包
(6)Verify 验证构件包是否有效
(7)Install 将构件包安装到本地仓库
(8)Site 生成项目站点
(9)Deploy 将构件包部署到远程仓库
Maven的聚合特性(aggregation)能够使项目的多个模块聚合在一起构建, 而继承特性(inheritance)能够帮助抽取各模块相同的依赖、插件等配置,在简化模块配置的同时, 保持各模块一致.
通过在一个打包方式为pom
的Maven项目中声明任意数量的module
以实现模块聚合。
在面向对象中, 可以通过类继承实现复用. 在Maven中同样也可以创建POM的父子结构, 通过在父POM中声明一些配置供子POM继承来实现复用与消除重复。
参考博文:
(1)http://blog.csdn.net/zjf280441589/article/details/53044308
2、Maven出现依赖冲突如何解决?
3、merge与rebase的区别
参考:
(1)git merge 和 git rebase 小结 http://blog.csdn.net/wh_19910525/article/details/7554489
(2)https://github.com/geeeeeeeeek/git-recipes/wiki/5.1-%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6%EF%BC%9AMerge%E3%80%81Rebase%E7%9A%84%E9%80%89%E6%8B%A9
4、如何用Git做Code Review的?
5、Git产生冲突的解决方案
git checkout mybranch git branch --set-upstream-to=origin/mybranch git fetch 远程主机
Git放弃本地修改,强制更新:
git fetch --all git reset --hard origin/master
Git放弃本地修改
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态 git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。 git reset --hard HASH #返回到某个节点,不保留修改。 git reset --soft HASH #返回到某个节点。保留修改
以上是关于Java面试11|Maven与Git的主要内容,如果未能解决你的问题,请参考以下文章
[ jenkins ] git+jenkins+maven + ansible 部署java程序