今天开始对Git进行一个系统的学习,为研究生学习和工作做准备。学习的教材是《精通Git第二版》,由门佳和刘梓懿翻译完成的。学习篇主要概括书中的主要内容,相当于给自己做一个笔记,同时也和各位计算机领域的好友们进行学习分享。
第一章 入门
1 版本控制
1.1 定义
版本控制是一套系统,该系统按照时间顺序记录某一个或一系列文件的变更,让你可以查看其以前的特定版本。
1.2 分类
- 本地版本控制系统,例如mac OS X操作系统中的RCS
- 集中式版本控制系统(CVCS),例如CVS、Subversion、Perforce
- 分布式版本控制系统(DVCS),例如Git、Mercurial、Bazaar或Darcs
图1 分布式版本控制题
2 基础特性
- 快照,而非差异:它对待或存储数据的方式,更像是将数据视为一个微型文件系统的一组快照。每次提交或在Git中保存项目的状态时Git会抓取当前状态的快照,然后存储一个指向该快照的引用。
![](https://i-blog.csdnimg.cn/blog_migrate/32ef14cda10cd5397805e67b41370706.png)
- 几乎所有操作都在本地执行
- 数据完整性:Git中的所有数据在存储之前都会执行校验和计算,随后引用校验和引用对应的数据。所采用的校验和引用机制叫做SHA-1散列
- 通常只增加数据:基本上所有的操作都只是向Git数据库中添加数据,很难让系统执行无法撤销的操作或是把数据搞丢
- 三种状态:已提交、已修改、已暂存
已提交:表示数据已经被安全的存入本地数据库中
已修改:表示已经改动了文件,但尚未提交到数据库”
已暂存:表示对已修改的文件的当前版本做出了标识并将其加入下一次要提交的快照中
![](https://i-blog.csdnimg.cn/blog_migrate/9a970b1ce285ae15777ace69fd7020a6.png)
接下来的学习,如果你还不知道命令行工具,最好还是先停下来,补补功课,以便能够跟上本书随后的内容
3 安装Git
3.1 Linux上的安装方法
以Fedora为例子,你可以使用yum:
$ sudo yum install git-all
如果是基于Debian的发行版,可以使用apt-get:
$ sudo apt-get install git-all
3.2 Windows安装方法
这篇文章作者讲解的非常详细,可以进行参考
3.3 从源码安装
有些用户可能会觉得从源码安装Git会更好,因为这样能够获得最新的版本。这篇文章作者讲解的非常详细,可以进行参考
4 Git的首次配置
Git安装完成之后,需要自定义一下Git环境。
4.1 用户身份
安装好Git的第一件事就是设置用户名和电子邮件地址。这一步非常重要,因为Git的每一次提交都需要用到这些信息。而且还会被写入所创建的提交中,不可更改。设置命令如下:
$ git config --global user.name "你的用户名"
$ git config --global user.email 你的电子邮件地址
如果传入了 --global选项,只需要设置一次就行了
4.2 检查个人设置
通过下面的命令列出当前可以找到的所有设置:
git config -list
4.3 获取帮助
三种方法
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
5 小结
现在我们已经对Git有了初步的认识,有兴趣的朋友可以继续了解它与其他集中版本控制系统的不同。我们已经在系统中安装好了Git并且配置好了身份信息,接下来该学习一些Git的基础知识了。