《Pro Git》第一章总结

之前看过一遍前三章,但是看过就忘了,都没吸收到什么知识。但是因为一次误删文件发现备份文件真的很重要,便又想起了Git这个人人称赞的工具,乘着这次机会,让自己再好好看看这本书然后做总结!也算是开始练习写自己的博客了。


这一章主要讲了一些关于版本控制系统、git的简单知识,还有git相对于其他版本控制系统的好处,本章的最后也讲了各种系统安装git的方法及安装完后要做的配置。

版本控制主要分为三种,一种是本地版本控制系统,一种是集中式版本控制系统,而最后一种就是git所属的分布式版本控制系统(VCS)了。本地版本控制系统就是在我们平时复制整个文件夹的备份方法上进行进一步优化的,书中用Mac上的rcs工具作为例子,但是这种方式只适合于单干的情况,因为无法跟别人的修改合并;集中式版本控制系统则适合多个人一起合作,它是有一个专门的服务器来放置所有的版本文件。集中式版本控制系统便于管理,但是也有一个缺点,就是如果服务器的文件没有备份并且磁盘损坏的话就无法恢复所有的提交和修改记录和文件了。分布式版本控制系统在客户端也有所有的记录,也就是所有客户端都可以当成一个服务器,服务器的文件损坏可以很容易通过客户端的镜像来恢复。

git是在开发BitKeeper的商业公司终止了linux内核开源社区免费使用这个分布式版本控制系统之后,由linux内核开源社区结合使用BitKeeper的经验开发的。在git中,每次备份是记录快照的形式,每次提交时都是保存当前所有文件的快照,没有改变内容的文件则是存储一个指向该文件上一次提交的快照的连接(使用git add .添加所有文件时,没有修改的文件并不会被添加就是因为这个设计吧)。所以说git每次保存的都是一个微型文件系统的备份。而对于其它VCS则是只保存每次的改变而已。

git几乎所有的操作都可以看成是本地的,除了push和pull这些需要联系远程库的操作。个人感觉,git最大的优点就是记录了每次提交的改变,这样子对于一个项目每次修改并测试通过后都可以先提交,不用急着推送到远程库,因为随时可以恢复到任意一个提交时的文件状态,即使是误删文件等。所以即使没有联网而无法将通过测试的项目推送到远程库也可以不用担心不能进行进一步的修改和测试,这就是与集中式版本控制系统相比最大的优点吧。此外,git每次提交都会生成一个校验码,来防止文件在传输过程中的丢失或者出错。git只会添加数据,而不会删除数据,所以只要是提交的数据,都是可以恢复的。

接下来这一段可以说是这一章最重要的知识了,虽然很少,但记住这一段的内容能帮助你更好的理解git的工作方式。

git里面的数据有三种状态:已修改—>已暂存—>已提交。而git的工作目录也有三个:本地目录,暂存区,git目录(本地库)。已修改的文件就是属于本地目录的,而对已修改的命令使用 git add 命令后的文件就是已暂存的文件,是属于暂存区的,而暂存区的文件使用 git commit 命令后就是已提交的文件了,是属于git目录的。注意暂存区事实上只是一个文件而已,一般保存在git目录中。git基本的工作流如下:

1、你在本地工作目录下修改文件。

2、暂存修改的文件,将快照添加到暂存区中。

3、使用commit命令提交改变,将暂存区中的文件及它的快照放到本地库中。


安装git:

linux:yum install git-core 或者 apt-get install git-core (也可以自己使用源代码编译)

windows:从http://code.google.com/p/msysgit 下载安装程序

mac:从http://code.google.com/p/git-osx-installer 下载安装程序或者使用MacPorts,使用命令 sudo port install git-core +svn +doc +bash_completion+gitweb

安装完后要进行配置,使用git config的工具进行配置,一定要配置的有用户名和邮箱两项,这是在提交时要用到的。命令如下:

git config --global user.name "you name"

git config --global user.email "you email"

此外还可以通过 core.editor 和 merge.tool 来配置默认文本编辑器和差异比较工具。

关于配置文件,整个git的配置文件为~/.gitconfig文件(这是使用git config --gloal后会改变的文件),库的配置文件为.git文件夹下的Config文件。


PS:心血来潮想知道git名字来由,然后查了一下git的中文意思,发现居然有个饭桶,无用人的意思,然后wiki上这样子说到:林納斯·托瓦茲自嘲地取了這個名字「git」,在英國俚中指一個愚笨或者不開心的人。大神总是搞怪的啊!第一次写总结居然花了那么长时间,请多指点,说得不好,请勿喷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值