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”