Java核心_Git_Maven学习[20181108]

一、Git课程

-Git概念

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1]  Git Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus Torvalds 是这样给我们介绍 Git 的。

Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在pushpull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

-》特点

从一般开发者的角度来看,git有以下功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。

优点:

适合分布式开发,强调个体。

公共服务器压力和数据量都不会太大。

速度快、灵活。

任意两个开发者之间可以很容易的解决冲突。

离线工作。

缺点:

资料少(起码中文资料很少)。

学习周期相对而言比较长。

不符合常规思维。

代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

-》常用的版本控制

-VVS

-CVS

-SVN

-GIT

-》应用看操作doc文件

 

1.下载git的地址:

https://www.git-scm.com/

到这个页面

 

安装的步骤:

基本都是下一步,全部都可以是默认的

测试是否安装成功

在任意的地方--右击--选择git bash here,说明安装成功

 

说明:一般情况下 命令都是以git 开头,请注意命令之间的空格,他也有Linux命令的 补全

安装最后的一步:

需要添加用户名和邮箱

 

  1. 修改字体和大小

右键--option--text--select--apply--save

3.常用命令:

查看帮助文档

 

查看全局配置

 

查看单个配置

 

添加新的用户名或邮箱

 

删除用户名或邮箱

 

将命令简写

 

Git版本库的操作

  1. 创建git版本库

 

(1)创建库(2)切换到指定目录  注意:路径不能存在中文

  1. 将上一步创建的文件转为git仓库(通过git init命令把这个目录变为git可以管理的仓库)

 

① 初始化

② Ls -ah 查看当前目录下的文件信息.git

3.gits目录中创建文件

1)在windows当前目录下创建

2)使用git add方法添加到git

 

3)提交

 

说明:一般添加和提交是两步。因为添加也许是很多文件,但是提交一步就可以完成。

(4)demo.txt中修改了输入git st便会显示文件已修改

 

查看修改的变化

 

修改之后需要再提交一下

(5)查看历史修改

 

是一串确定的位置

简单显示

 

6)回滚到修改以前

 

说明:上一次^ 在前面一次^^ 如果是100条以前 HEAD~100

 

Github操作(未注册成功)

 

二、maven

-》说明:

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,

报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,

还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

-》为什么要使用

1.java中完成某些功能需要外部的api(导jar包)

2.如果只有1个或几个jar包还可以,对于一些大型的java工程项目来说,上百个包

3.如果有一个jar包管理插件来解决这个问题多好?

-》安装步骤

-》检查jdk

-》解压maven到指定的包--不能包含中文

-》目录解析

bin:可执行文件

boot:类加载框架,用来加载自己的类库

conf:配置文件

lib:依赖包

-》配置环境变量到path

创建用户自定变量:将路径放入变量中

添加到系统变量path--注意路径到bin

在系统变量里添加mavenJava_home环境变量,然后添加进系统变量的path

 

-》检查配置

mvn -v

说明:

出现信息配置成功

-Maveneclipse的整合

-window 点击 prefernces

选择maven

点击 Installations

add

External-添加自己的maven路径

-》打开maven安装下目录的conf/settings.xml文件

解开注释:<localRepository>

maven安装路径新建一个目录repository

D:\apache-maven-3.3.9\repository

添加新建的路径

<localRepository>D:/apache-maven-3.3.9/repository</localRepository>

 

-preferences--maven--User Settings

点击--Browse 添加路径知道conf下的settings.xml文件

注意在每次更改的时候需要点击 update Settings

-》创建maven的工程

---new-other--Maven Project

点击:maven-archetype-quickstart--点击两次

-》打开创建页面

Group Id--项目结构

Artifact :项目

package:自动生成包

-》目录说明

src/main/java项目的java文件

 

src/test/java测试代码

 

target项目输出位置

pom.xmlMaven工程配置文件

-》创建依赖(就是告诉maven我需要哪些jar包以及从哪里下载)

配置国内镜像网站来加快下载速度

settings.xml中的<mirrors>节点中添加子节点:

<id>alimaven</id>

      <name>aliyun maven</name>

       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

       <mirrorOf>central</mirrorOf>

       选中要更新的项目,单击确定

       配置junit依赖(举例)

       各个依赖格式略有区别 每个依赖需要去逐个百度

  <dependencies>

<dependency>

  <groupId>junit</groupId>

  <artifactId>junit</artifactId>

  <version>3.8.1</version>

  <scope>test</scope>

</dependency>

  </dependencies>

       版本号的问题

       如果没有下载成功(没有对应的版本),

则会在文件夹中生成.lastUpdated后缀名的两个文件

       可以从http://maven.aliyun.com/nexus/content/groups/public/

       这个服务器网站得到jar包的版本信息

操作:通过:

Maven命令(右键Run AS>就可以看到这些命令)

Maven complie:编译命令,在target目录生成class字节码文件,将资源文件复制到此文件夹下,这个文件的目的就是为了打包做准备

Maven package:打包命令,在target目录下生成当前项目的包文件(jarwar等)

Maven install:在本地仓库安装包文件,该命令会先执行package命令在target目录生成jar包,然后将这个jar包安装到本地仓库中

Maven clean : 清除命令,将compliepackage命令生成的target目录下的文件清除

通过项目名:点击项目名,选择run as 也可以操作

 

 

posted @ 2018-11-10 10:03  尊新必威  阅读(259)  评论(0编辑  收藏  举报