目录
Git历史
既然接下来咱们要说Git,那就不得不说Git的起源:
Git始于一个极具纷争的大举创新的年代!
在Git还没有诞生的时候,Liunx公司一直面对一个问题,Liunx内核由于是一个规模很大的开源项目,在维护期间,对于软件只能是通过补丁和存档形式传递。后面就有了同Bitkeeper公司合作,但是由于2005年,Liunx内核社区和开发Bitkeeper的商业公司关系的破裂。迫使Liunx创建者想要自己打造一款工具,于是Liunx社区根据在使用Bitkeeper学到的教训,仅仅用了两周时间便使Git问世。
Git是开源的,最初为了辅助liunx内核所开发的!
Git疑解
-
有人肯定会有疑问,那Git到底有什么用?
我们在平时工作的时候,多多少少都会遇到版本冲突,同组思路不一样的情况。考虑到这些问题我们就应该想想有没有什么办法能解决,这时候就会想要一个可以统一管理版本的技术。
-
其他类似的技术为什么不被选择?
Git作为目前世界最先进的版本控制系统,采用分布式的形式控制版本,满足小型到大型的事务。操作简单,内存占用少,性能快
在数据方式的考虑中Git要远胜于CVS(以及Subversion和其他)从CVS..考虑,他们大多都是将信息存储基于文件的更改,也即是它们存储的信息被视为一组文件和随时间对每一个文件所做出的更改。
正如上图所表达的一样,其他版本控制系统做出的是对文件的更改!
而Git思想相反,它认为数据更像是快照,每次提交Git都会提前保存一份快照。如果文件没有做出改变,Git不会再次保存,只是会指向它已经存储好的前一个相同文件的链接!
如上图所示,数据被存储到快照中!
Git特性
Git最主要的就是版本控制,版本控制即是为了弥补行业内的各种版本迭代,以及为了更好的存储历史记录。
常见的版本控制工具:
-
Git
-
SVN (Subversion)
-
CVS
-
VSS
版本控制工具有很多,目前影响力最大的,使用最广泛的便是Git
版本控制分类
-
本地版本控制
记录文件每次更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人使用,如RCS
2. 集中版本控制 SVN
所有版本数据都保存在服务器上,协同开发者从服务器同步更新或上传文件的修改
所有的版本数据都在服务器上(或是中央处理器),用户本地只有自己以前的同步版本,在不联网的情况下就不能看到历史版本,也就不能切换到版本验证问题,而且所有版本都在同一个服务器上,有很大风险这个服务器遭到损坏,这样就会丢失所有的数据,但是他可以定期备份。代表产品:SVN、CVS、VSS
3. 分布式版本控制 Git
所有版本仓库全部同步到个人本地,这样所有人都会有历史版本存档,也可离线在本地提交,只需要联网时添加到相应服务器或其他用户。因为所有用户都拥有历史版本存档,所以,只要有一个还存有数据,就不会造成版本丢失,但是会增加本地存储空间占用。
Git和SVN的区别
SVN:
-
集中式版本控制系统
-
版本库集中放在中央服务器,用的时候从中央服务器获取,工作完成后,再放回中央服务器中
-
必须联网使用,对网络有要求
Git&#x