1、Git的历史
同生活中的伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。
到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统订了若干目标:
•速度
•简单的设计
•对非线性开发模式的强力支持(允许上千个并行开发的分支)
•完全分布式
•有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
下载地址:
https://www.kernel.org/pub/software/scm/git/
2、Git与SVN对比
2.1、Svn原理分析
svn属于集中式版本管理控制系统,系统中保存了所有文件的修改版本,而协同工作人员通过连接svn服务器,提取出最新的文件,获取提交更新。
集中管理方式在一定程度上看到其他开发人员干了什么,而管理员可以掌握每个人的权限。但是相较于其优点而言。
1、服务器单点故障
2、容错性差
2.2、Git原理分析
Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。