1.本章重点
本章着重讲解什么git以及git如何安装,git的一些常见基本操作,以及git的工作区,暂存区和版本库
2.什么是git
在引入git的概念之前,先举个例子:
在工作或者学习中,我们总是遇到这样的情况:我们在编写各种文档时,为了防止文档丢失,更改错误,失误后能恢复到原来的版本,不得不复制出一个副本,比如:
"报告--v1"
"报告--v2"
"报告---v3"
"报告--确定版"
"报告---最终版"
..........
每个版本都有各自的内容,但是最终只有一份报告需要被我们使用。
但在此之前的工作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的文件就越来越多,文件多其实不是问题,但是问题是:随着版本数量的不断增多,你是否还记得这些版本各自都是修改了什么内容吗?-----过的时间越长,我们是根本不清楚的。
文档如此的话,那么程序员编写代码就更是如此了。
那么如何解决这个问题呢?----用版本控制器-----那么git就孕育而生了
版本控制器就是让你了解到一个文件的历史,以及他的发展过程的系统。通俗的讲就是一个可以记录工程的每一次改动和版本迭代的一个管理系统,同时也方便多人协同作业。
目前最主流的版本控制器就是Git。Git可以控制电脑上所有格式的文件,例如Doc、excle、dwg、dgn、rvt等。而对于开发人员来讲的话,Git最重要的就是可以帮助我们管理软件开发项目中的源代码文件
PS:所有的版本控制系统,Git也不例外,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等。版本控制系统可以告诉你每次的改动。比如在第五行增加了某个单词"Linux",在第8行删除了一个单词"Windows"。
而对于图片、视频这些二进制文件,虽然版本控制器也可以跟踪,但是只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但是到底改了啥,版本控制系统不知道,也没有办法知道。
3.Git的安装
Linux-Centos平台的话:
首先试着输入git,查看系统有没有安装git
git
-bash:git:command not found
出现上面的结果表示你没有安装,那么就去安装
sudo yum -y install git
查看Git安装的版本:
git --version
Linux-Ubuntu版本
首先也是一样,看是否安装了git

出现上面的结果,Linux告诉你你没有安装,还会告诉你如何安装。你运行下面的指令即可

查看版本

4.Git的基本操作
创建Git本地仓库
需要提前了解的是,仓库是进行版本控制的一个文件目录。我们想对文件进行版本控制,就必须先创建一个仓库出来。
创建一个本地仓库对应的命令为Git init,注意命令要在文件目录下执行,例如:

我们发现,当前目录下多了一个.git的隐藏文件,.git目录是用来跟踪和管理仓库的,不要手动的去修改这个目录下面的文件,不然就乱了,这样就会把Git仓库造成了破坏。
配置Git
当安装Git后,首先要做的事情就是设置你的用户名称和E-mail地址,这是非常重要的,配置命令为:
其中 --global 是⼀个可选项。如果使⽤了该选项,表⽰这台机器上所有的 Git 仓库都会使⽤这个
配置。如果你希望在不同仓库中使⽤不同的 name 或 e-mail ,可以不要 --global 选项,但要
注意的是,执⾏命令时必须要在仓库⾥。
查看配置命令为:
git config -l
删除对应的配置命令为:
git config [--global] --unset user.name
git config [--global] --unset user.email
认识工作区、暂存区、版本库
- 工作区:是在电脑上你要写代码或文件的目录。
- 暂存区:英文名叫stage或index。一般是存放在.git目录下的index文件中(.git/index)中,也罢暂存区有时候叫做索引(index)。
- 版本库:又叫做仓库,英文名repository。工作区有一个隐藏目录.git,他不算工作区,而是Gir的版本库。这个版本库里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能够跟踪,以使任何时刻都可以追踪历史,或者在将来某个时刻可以"还原"。
下图展示了其中的关系:
• 图中左侧为⼯作区,右侧为版本库。Git 的版本库⾥存了很多东西,其中最重要的就是暂存区。
•
在创建 Git 版本库时,Git 会为我们⾃动创建⼀个唯⼀的 master 分⽀,以及指向 master 的⼀个指
针叫 HEAD。(分⽀和HEAD的概念后⾯再说)
•
当对⼯作区修改(或新增)的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。
•
当执⾏提交操作 git commit 时,master 分⽀会做相应的更新,可以简单理解为暂存区的⽬录
树才会被真正写到版本库中。
由上述描述我们便能得知:通过新建或粘贴进⽬录的⽂件,并不能称之为向仓库中新增⽂件,⽽只是
在⼯作区新增了⽂件。必须要通过使⽤ git add 和 git commit 命令才能将⽂件添加到仓库中
进⾏管理!!!
5.总结
到这里就对git有了一个初步的理解了,下一篇文章将会介绍,如何增加文件到版本库中,有如何把删除的文件告诉版本库等。