git

1. Git概述

Git作用:进行项目的版本管理,主要用来实现在多人开发一个项目的时候,进行项目的代码、版本等等内容的管理. Git的作者林纳斯·托瓦兹.

2. Git与SVN对比

SVN是集中式版本控制系统,版本库是集中放在*服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从*服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到*服务器。

集中式版本控制工具缺点:(1)服务器单点故障;(2)容错性差

Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:

本地仓库远程仓库

本地仓库:是在开发人员自己电脑上的Git仓库

远程仓库:是在远程服务器上的Git仓库

Clone:克隆,就是将远程仓库复制到本地

Push:推送,就是将本地仓库代码上传到远程仓库

Pull:拉取,就是将远程仓库代码下载到本地仓库

3. Git工作流程

工作流程如下:

1.从远程仓库中克隆代码到本地仓库 (Clone)

2.从本地仓库中checkout代码然后进行代码修改(比如用idea打开,进行编写代码)

3.在提交前先将代码提交到暂存区 (Add)

4.提交到本地仓库。本地仓库中保存修改的各个历史版本 (commit)

5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库

注意:push到远程仓库之前最好每次先从远程仓库拉取一下最新版本(Pull),在拉取的过程中可能会有版本冲突,解决完版本冲突之后再push到远程仓库.

git

4. Git常用命令

4.1 环境配置

当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息.

设置用户信息

git config --global user.name “itcast”

git config --global user.email “[email protected]

查看配置信息

git config --list

git config user.name

通过上面的命令设置的信息会保存在~/.gitconfig文件中

4.2 获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得Git仓库.

获取Git仓库通常有两种方式:

在本地初始化一个Git仓库

从远程仓库克隆

4.2.1在本地初始化一个Git仓库

执行步骤如下:

1. 在电脑的任意位置创建一个空目录(例如gittest)作为我们的本地Git仓库

2. 进入这个目录中,点击右键打开Git bash窗口

3. 执行命令git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功

git

4.2.2从远程仓库克隆

(1).可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地

命令形式为:git clone 远程Git仓库地址

git

(2).git remote 命令:在本地仓库中运行该命令可以查看已经配置的远程仓库服务器。 它会列出指定的每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字.

git

(3). 运行 git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个可以引用的简写.

git

注意:连接码云等远程仓库,第一次连接需要输入码云的账号和密码

如果第一次输入错误,之后就再也连不上码云了,如何解决

git

git

git

5.工作目录、暂存区以及版本库概念

码云:远程仓库

版本库:前面看到的**.git隐藏文件夹就是版本库**,版本库中存储了很多配置信息、日志信息和文件版本信息等.

工作目录(工作区)包含.git文件夹的目录就是工作目录,主要用于存放开发的代码.

暂存区.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方.

git

6. Git工作目录下文件的两种状态

git

6.2将文件添加至忽略列表

一般.class文件是会被忽略掉的,不提交到本地仓库,不参与修改,不参与任何操作

一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:

git

7. 在IDEA中使用Git

7.1 在IDEA集成Git

安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。

选择File→Settings打开设置窗口,找到Version Control下的git选项:

git

选择git的安装目录后可以点击"Test"按钮测试是否正确配置

git

7.2在IDEA中创建工程并将工程添加至Git

创建工程的步骤和普通创建工程一样,创建完之后将该工程添加至git

git

将项目添加至Git管理后,可以从IDEA的工具栏上看到Git操作的按钮

7.3 在IDEA中使用Git(将文件加入暂存区、提交文件)

1. 设置.gitignore文件(了解,重点是在idea中设置)

注意:在实际开发中,并不是所有文件都交给git进行管理,并且有些文件如果交给git进行管理的话,后续会产生很多问题,比如.idea这种文件并不需要我们去维护,它是通过idea自己维护的,如果把这些文件也让git进行管理并且推送到远程仓库的话,由于远程仓库大家都可以拉取到,这些文件就会经常产生冲突.所以要将.idea,gittest.iml以及target这些文件加入忽略列表(.gitignore文件).

我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。

注意:在windows系统中无法创建.gitignore名称的文件,我们可以在Git Bash Here的命令行窗口中利用linux命令创建该文件,命令:touch .gitignore.

git

也可以从别的项目中复制.gitignore文件,更多的我们使用idea来进行忽略文件设置.

下面是.gitignore文件示例:

git

2.使用idea配置.gitignore忽略文件(两种方式:1.直接在idea中设置;2.使用插件)

方式1:直接在idea中配置

git

方式2:使用.ignore插件
git
git

2.将文件添加到暂存区的操作(在idea中可以直接提交到本地仓库不用添加到暂存区):

右键项目名称,Git->Add

git

3 创建本地仓库并提交文件至本地仓库

本地项目还没有创建本地仓库时:

git

然后选择项目为本地仓库的存在目录

git

提交到本地仓库后就会在项目的文件中产生一个.git文件.

提交到本地仓库或者远程仓库:点击右上角的绿色对号,提交

git

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5MDVF7d4-1602612228575)(media/image23.png)]{width=“5.768055555555556in” height=“4.741666666666666in”}

4.版本对比

方法1:在某个代码类中右键->Git->Compare with

git

方法2:点击时钟图标

git

点击其中一个版本,查看代码修改的地方

git

5. 创建分支

简便方法:点击idea右下角的Git:master (代表当前处于master分支),既可创建新的分支也可切换其他分支.

git

常规方法:

VCS->Git->Branches ->New Branch

git

git

6.切换分支

简便方法:点击idea右下角的Git:master (代表当前处于master分支),既可创建新的分支也可切换其他分支(当前示例中还有b1分支,点击b1再点击Checkout切换到b1分支).

git

git

7.合并分支

VCS->Git->Merge Changes ->选择要合并的分支,有本地仓库分支和远程仓库分支

注意: 将b1合并到master分支,要在master中操作

git

git

8.文件冲突解决

git

git

7.4 从远程仓库克隆工程到本地

git

git

从远程仓库克隆到本地成功后在idea中选择open,注意在open的时候路径选择一定要正确,如上图,路径选择应该选择D:\develop\IdeaProjects\gittestClone\gittest.git,切记不要只到gittestClone目录,而要选择gittestClone目录里面的gittest.git

7.5 git使用场景举例

git

附录:

1.git软件安装

Git下载地址: https://git-scm.com/download

TortoiseGit (小乌龟) 下载地址: https://tortoisegit.org/download/

2. 安装TortoiseGit

git

git

一路"下一步"使用默认选项即可。

默认选项下会启动配置画面:

git

由于目前只有英文语言包,默认即可继续下一步。

配置git.exe,在4.2.1中已经安装过git-for-windows了所以在此找到git.exe所在的目录。

git

配置开发者姓名及邮箱,每次提交代码时都会把此信息包含到提交的信息中。

git

git

使用默认配置,点击"完成"按钮完成配置。

完整完毕后在系统右键菜单中会出现git的菜单项。

git

3.安装中文语言包

安装中文语言包并不是必选项。可以根据个人情况来选择安装。

git

直接"下一步"完整完毕。

语言包安装完毕后可以在TortoiseGit的设置中调整语言

git

4.使用TortoiseGit

4.1.创建本地仓库

git

git

4.2 克隆远程仓库

git

git

git

4.3将文件添加至暂存区

git

git

方法二:也可以不选中文件,直接右键->Git Commit ->master,然后在弹出的对话框中勾选文件,效果是一样的.

git

4.4 推送本地仓库到远程仓库

**情景1:本地仓库是从远程仓库克隆下来的,**如果修改完文件后需要推送到远程仓库,比较简单,

git

情景2:本地仓库不是从远程仓库克隆的,而是自己本地电脑里的一个文件夹

1.在文件夹内右键->Git Create repository here

git

2.

git

3.把本地文件添加到暂存区

git

4.提交到本地仓库,这一步不能少!!!

git

git

5.push到远程仓库

git

git

git

git

git

6.从远程仓库拉取代码到本地仓库

git

7.创建分支

git

8.切换分支

git

9.合并分支

git