git学习笔记 1 —— 基础
因个人兴趣,从暑期开始做起web后台开发工作。这数月过来,无数次提交,更改,撤销更改等动作,让我深感学习版本控制的必要性。在学长的推荐下,以Git-Book为基础开始学习git。Git-Book是本很好的教材,深入浅出,条理清晰。对比而言,很适合初学者使用。
git为版本控制而生,是DVCS的一种。早期的数据库形式被用户机——CVCS服务器形式所取代。这种模式下,中央宕机会造成成很大损失。考虑到这点,分布式版本控制系统(DVCS)出现,在DVCS下,各用户机亦保存有文件的各版本,即使服务器宕机,也可以通过各用户机恢复。git是DVCS的一种。
git起源于Linux的维护工作。诞生于2005年。建立在Linux经验的基础上,git有几个很明显的特征:追求速度,简单设计,非线性开发需求,完全分布式。因此,它能在简化操作的同时,简化开发者的工作量。
学习git之前,要先建立对git几个特点的认识。这将将极大程度上有利于之后的进展。
- git记录文件的整体快照而非文件的局部改动。若文件改动,git将记载新文件;反之,git将只储存指向旧文件的指针。
- git继承了DVCS的特点,操作的本地性极强。不需要联网也可以使用git来保存甚至提交自己所做的改动
- git十分强调文件数据的完整性,用SHA-1算法得到文件校验得到一个Hash值表示文件。任意文件都有唯一的40bits十六进制字符串对应。
- git的各种操作绝大多数都是向数据库中添加数据,这意味着几乎所有操作都可以恢复。不用担心覆盖掉正确版本。
- git管理下的文件只有三种状态——修改,暂存,提交。这点很重要。git只对提交态的文件版本负责。
在了解了git的基础知识后,就可以在你的主机上安装git了。由于Linux环境下对git的使用较频繁,且我自己也在Linux环境下使用git,下面对Linux做重点介绍。
Linux
源代码安装
先安装依赖包
1 | //使用yum的系统 |
之后下载最新源代码并编译安装
1 | $ tar -zxf git-1.7.2.2.tar.gz |
傻瓜安装
1 | //区别同上 |
Mac与Windows
Mac可以通过MacPorts或者下载git图形化工具完成git安装。Windows可以通过安装msysgit使用git命令。
在使用git前,可以通过git config更改个人用户名及电子邮箱地址。这样每次的提交会出现你个人的标识。