天天看点

Git、Maven、Gradle

Git:版本控制工具、分布式

1. git remote add origin [email protected]:path/repo-name.git;

   git push -u origin master; //将最新修改推送到远程服务器

   git clone [email protected]:path/repo-name.git; // 从远程服务器上克隆到本地

2. 分枝管理

   git checkout -b dev; // 创建新的分枝dev

   git branch; // 查看分枝

   git checkout master; // 切换分枝到master

   git merge dev; // 合并某分枝到当前分枝

   git checkout -d dev; // 删除分枝dev

   git merge --no-ff -m "xxxx" dev; // 

   git stash; // 把当前工作现场“储存”起来,等以后恢复现场后继续工作

   git stash list; // 查看工作现场

   git stash pop; // 恢复现场

3. 多人协作工作模式

   首先,可以试图用git push origin branch-name推送自己的修改

   如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并

   如果合并有冲突,则解决冲突,并在本地提交

   没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功

   在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致

可能会出现错误:fatal: Cannot update paths and switch to branch 'dev' at the same time.

解决方案:先git fetch; 再git checkout -b branch-name origin/branch-name

   建立分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

4. 标签管理:标签也是版本库的快照

   git tag <name>; // 创建标签,默认为HEAD,也可以指定commitid

   git tag -a <name> -m "xxx"; // 可以指定标签信息

   git tag -s <name> -m "xxx"; // 可以用PGP签名标签

   git tag; // 查看所有标签   git show <name>; // 显示指定标签的信息

   git push origin <tagname>; // 推送一个本地标签

   git push origin --tags; 可以推送全部未推送过的本地标签

   git tag -d <tagname>; 可以删除一个本地标签

   git push origin :refs/tags/<tagname>; // 可以删除一个远程标签

5. git补丁

   生成补丁:git format-patch -1; 或者 git format-patch HEAD^;

   应用补丁:git apply patch

项目管理:Maven、Gradle

Maven教程:项目构建、依赖管理、项目信息管理

作用:(1)帮你下载jar包。在核心配置文件pom.xml中添加dependency节点(<groupId>、<artifactId>、<version>...),Maven自动帮你下载jar包

     (2)寻找依赖,帮你下载依赖。配置的jar包本身可能会包含依赖的jar,Maven会把这些依赖的jar包也都下载下来

     (3)热部署、热编译。在项目运行时,修改代码能直接被服务器接受,就不需要重新启动服务器或者重新部署代码

环境配置:下载安装后,配置MAVEN_HOME和Path环境变量,类似JDK的配置

用的最多的命令:mvn eclipse:clean -- 清除Project中以前编译的东西,重新再来

mvn eclipse:eclipse -- 开始编译Maven的Project

mvn clean package -- 清除以前的包后重新打包

Maven在Eclipse中的具体使用:(1)安装和配置(setting.xml):

本地仓库位置,可修改,默认为用户工作目录下的".m2/repository"

中央仓库镜像,可添加其他的镜像地址

   (2)Eclipse中添加Maven插件

插件安装,Instance NewSoftWare

配置,添加Maven安装路径,设置自定义的本地仓库

   (3)使用Maven构建Web项目

New Maven Project,在pom.xml中添加一些插件信息<plugins>

使用Maven添加依赖的jar包,添加节点<dependency>

将Maven项目转化为Eclipse项目,并且将对应需要的jar添加在Path中(build path)

   (4)Maven编译和发布项目

选中pom.xml run as Maven install

Gradle教程:Groovy

通俗来说:Gradle就是打包用的

    (1)为什么打包:制作的项目需要发布到服务器或者给别人用,不可能让每台机器都安装Eclipse,也不可能将源码直接发个别人,所以需要把代码发布成二进制文件,方便其他环境运行,这就是打包

    (2)为什么用Gradle打包:Gradle集合了Ant和Maven的优点,Ant可以自动化打包逻辑,用xml文件的形式自动运行,Maven也可以自动化打包,并且可以帮助下载jar包,但Maven打包逻辑定制比较麻烦。Gradle既能够自动化打包,又能自己编写脚本,并且编写的脚本比ant好用

环境配置:下载安装,配置GRADLE_HOME和Path环境变量,类似JDK的配置

文件:build.gradle -- 构建脚本,指定一个项目和和它的任务

     gradle.properties -- 属性文件,配置构建属性

     gradle.settings -- 设置文件,对于多项目的构建是必需的,描述哪个项目参与构建

常用命令:gradle build -- 运行build.gradle文件,会在工程目录下生成build文件夹,build目录下包含classes、dependency-cache、libs、tmp四个目录,libs目录下包含jar包,jar包包含main下的所有Java文件和资源文件

 gradle clean -- 清除生成的build目录

 gradle assemble -- 编译Java文件但不检查代码质量

 gradle check -- 检查代码质量而不需要打包jar包之类的额外工作

 Gradle是增量式编译,只编译那些有变动的Java类或资源文件,如UP-TO-DATE表示有更新

加入项目所依赖的jar包:配置repositories,相当于存储jar包的仓库,可以指定为本地的依赖jar包,也可以利用Maven所指定的仓库,如mavenCentral()

      配置dependencies来包含所真正依赖的jar包,格式“group:name:version”

继续阅读