版本控制
基本上,只要编辑过复杂文档就会遇到这样的情况:
要修改一段话,但是还想保存之前的内容(想删却害怕什么时候用到),怎么办?这样:
看到这些是不是要死掉了,天知道哪个版本存储着什么?
当你想要找过去的内容时只能挨个文件去翻。
更有可能的是,你写好的内容想要别人帮你查一查错误,并帮你修改。当他还给你的时候你根本不知道他都改了什么?
于是,你会希望有个软件帮你记录 哪个人 在什么时间 改动了什么地方 ?
那么,恭喜你!进入了版本控制的时代。(举的例子不当,还请大家见谅)
Git诞生
随着Linux的发展,代码库之大让Linus很难继续通过手工方式管理。于是Linus选择了一个商业的版本控制系统BitKeeper。
Linux社区牛人聚集,开发Samba的Andrew试图破解BitKeeper的协议,被BitKeeper的公司--BitMover发现了。于是BitMover要收回Linux社区的免费使用权。
于是,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub。
Git是分布式版本控制系统
集中式版本控制系统
集中式版本控制系统(CVS、SVN等),版本库是集中存放在中央服务器的。所以要先从中央服务器取得最新的版本,然后才能开始工作,完成后再推送给中央服务器。
集中式版本控制系统最大的问题就是必须联网才能工作。如果网络正常网速快还好,一旦有问题就工作不了了(好处是,可以休息了)。分布式版本控制系统
而分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库。和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多:某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统的时候,很少在两人之间的电脑上推送版本库的修改。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
当然,Git的优势不单是不必联网这么简单,Git极其强大的分支管理
安装Git
要使用Git首先就是要安装Git,它在Ubuntu上的安装也是十分简单的:
sudo apt-get install git
若是其他系统,可以参考Pro Git【可以下载PDF/EPUB/MOBI/HTML】。
也可以下载Git源码进行安装。
当然,也可以安装一些GUI工具,但是注意GUI工具都只是实现了Git的功能的子集。
本文先到这里,欲知后事如何,且听下回分解!