目录
[Git 工具介绍](#Git 工具介绍)
[Git 工具安装](#Git 工具安装)
[Git 版本控制基本原理](#Git 版本控制基本原理)
本期开始,我们将学习如何使用 Git 工具,实现多版本控制。
Git 工具介绍
要了解 Git 工具我们得先了解版本控制器的概念。
有这样一个场景,如下图所示。

如果我们有一个文件修改了多次之后,形成了版本1,版本2,版本3,版本4这四个版本。如果当前的文件在迭代到版本4之后,如果我们想回退到版本1,如果我们没有事先备份好版本1,那么此时是不可能直接回退到版本1的,如果对版本1进行了备份,我们确实可以直接回退到版本1,但是当文件足够多时,如果一个文件占用的内存过大,这时如果使用当前备份文件的方法进行回退,那么消耗的空间是非常大的,所以我们就引入了版本控制器的概念。
版本控制器:版本控制器是一个记录每次文件修改,以及文件版本迭代的管理系统。有了版本控制器之后,我们可以随意的回退到文件的任意迭代版本。
那么什么是 Git 工具呢?
Git 工具也是一个版本控制器,且是当今企业使用最广泛的版本控制器。
Git 工具安装
注意:我们默认的安装环境是 centos7。
1 .先使用 git --version 指令查看系统中是否已经安装了 git 工具。

作者这里是没有安装的,所以没有找到。
2 .使用sudo yum -install git -y指令安装 git 工具。

安装成功之后,再次使用 git --version 可以查看到当前系统已经成功安装了对应版本的 git 公具。

创建本地仓库
1 .使用 mkdir gitcode 指令创建一个目录 gitcode。

2 . 使用cd 指令进入该目录, 然后使用使用 git init指令创建本地仓库。
创建的本地仓库是一个隐藏目录,使用ls -a 指令查看隐藏目录**.git** 。使用 tree .git/ 指令查看本地仓库的详细结构。

该目录下的所有文件强烈建议不要修改。
配置本地仓库
在本地仓库中,用户名 name 和邮箱email 这是我们必须进行配置的。
1.配置用户名和邮箱。
bash
git config user.name "yjd"
git config user.email "[email protected]"
2.查看本地仓库的所有配置项。
bash
git config -l

3.重置仓库配置相关选项。
bash
git config --unset user.___
4.设计全局用户配置信息。
在第1步,我们使用 git config 在配置用户信息时,配置的只是当前的本地仓库的用户信息,我们可以在配置用户信息时加上**--global** 选项,这样的话,后续所有的本地仓库都会使用这个全部配置的用户信息。
bash
git config --global user.name "yjd"
git config --global user.email "[email protected]"
再次查看本地仓库配置信息。

此时我们已经配置了全局的本地仓库用户配置信息。
如果要删除对应的全局用户配置信息,在第3步重置用户配置信息时加上 --global选项即可。
Git 版本控制基本原理
Git 要管理一个文件,首先要保证的就是创建的文件必须在创建的本地仓库中。

如果我们像上图一样创建一个普通的文件Readme ,那么这个文件一定是不能被本地仓库管理的,因为这个文件并没有在本地仓库目录下。那么怎样创建文件,才能让本地仓库对其进行管理呢?
图示如下。


- 工作区:工作区可以理解为就是我们创建的文件或者目录所在的目录下。就如我们上述创建的 gitcode 目录下就是一个工作区。
- 版本库:版本库其实就是我们上述常说的本地仓库。也就是我们上述经常出现的 .git 隐藏目录。版本库⾥⾯的所有⽂件都可以被 Git 管理起来,每个⽂件的修改、删除,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻加以"还原"。
- 暂存区 stage/index:暂存区就是仓库中的一个区域,用于存放在工作区 git add 之后与工作区文件对应的 index 文件。
- objects:当我们修改了工作区的文件之后,git add 之后,git commit 之后,都会在 objects 目录中生成一个 Git 对象,每修改一次,git add 之后都会生成一个 Git 对象,正是因为有了这个对象,Git 工具才可以进行跟踪并还原。
- Head指针:Head 指针指向了 master 分支。
- matster:在创建 Git 版本库时,会在版本库(本地仓库) .git 下自动创建一个 master 分支。
当用户对工作区中的文件进行修改或者删除之后,执行 git add 命令之后,就会在暂存区中生成一个与工作区文件对应的 index 索引文件,当用户执行 git commit 命令之后就会将 暂存区 stage中的所有的 index 文件添加到 master 分支中,至此,Git 才算将工作区中我们创建或者删除或者修改的文件添加到本地仓库中管理了起来。
以上便是本期的所有内容。
本期内容到此结束^_^