Git历史及与SVN的不同之处
来源:互联网 发布:stc12c系列单片机 编辑:程序博客网 时间:2024/06/06 05:12
Git 历史
git linux 之父设计并开始研发。linux的内核源代码原来是放在bitkapper托管,bitkapper后来收回了对linux源代码的托
管,原因是bitkapper说他们内部有人对bitkapper的协议进行了逆向工程,当时市面上的版本管理工具又不能满足李纳斯·
托沃兹(Linus Torvalds)的需求,所以他决定自己来开发一个款版本管理工具,于是git在2005年4月3号开始开发,同年的4
月6号就公布了这个工程,4月7号git可以通过自身实现版本控制,4月18号完成了多分支合并,之后李纳斯·托沃兹(Linus
Torvalds)又把git交给另外一位同事维护.
Git与SVN的对比
那么git跟传统的版本控制工具有什么区别呢?特别是SVN。
接下来我们看下传统的集中式版本控制系统
中间是中央服务器,有版本控制的数据库,其他电脑是没有,大部分时候电脑做操作的时候都需要跟中央服务器做交互
试想下如果中央服务器发生灾难性损坏,这个备份没有做怎么办?或是说如果中央服务器处于离线状态怎么办?那么
我们来看看分布式版本控制的示意图:
分布式版本控制其实也可以拥有一台版本控制服务器,它的作用就是给其他成员做协同的作用,分布式版本控制与集中式
的相比,就是灵活性更高,ComputerA与ComputerB在离线的状态下(使用LAN)也可以实现代码共享协同开发
我们再来看看Git与SVN相比另外一个主要的差别
这是SVN版本管理的示意图,SVN这里每一个版本存储的都是前一个版本的差异,如果我我在版本5的时候提取一个文件,
它会向前去找老版本中的此文件,对比合并。其实就是叠加的操作.
举个例子,以C为例,如果C中版本Version2里的有一个命为employee的表,内容为:{"name":"bugall","age":"18"}
Version3时添加一条新数据:{"name":"yyf","age":"18"}
那么这时employee里的完整数据为:
{"name":"bugall","age":"18"}
{"name":"yyf","age":"18"}
可是Version3中的employee文件只存储差异也就是{"name":"yyf","age":"18"}这条数据。
我们再来看一下Git是怎么存储文件版本的。在这里每个版本都是完整的文件,它不需要去与老版本进行对比叠加得到完
整的文件,这也就是为什么git的效率比svn高的地方。
0 0
- Git历史及与SVN的不同之处
- Git常用命令整理及与SVN的简单比较
- Git相关概念及操作以及与SVN的区别
- Git历史及标签
- ASP与ASP.NET 的区别及PHP的不同之处
- git与svn比较及使用
- GIT历史查看命令与GIT的内部对象
- SVN与Git的区别
- Git与svn的区别
- git与svn的不同
- Git与svn的区别
- git与SVN的区别
- svn 与 git 的不同
- git与svn的区别
- Svn与Git的区别
- Git与SVN的区别
- Git与SVN的比较
- git 与svn的区别
- Android中adb常见指令
- 计算机笔试常见的一些错误
- 用户交互程序小技巧
- Java内存分配原理
- 我 要积分哦
- Git历史及与SVN的不同之处
- Git错误non-fast-forward后的冲突解决
- HDU 1907 John(尼姆博弈)
- (1.3.5)归并排序:二路归并
- C++11 中的几个新特性
- Windows下采用PyInstall将py文件转换成exe可执行文件
- 编写一个函数实现n^k,使用递归实现
- 福建省2014ACM省赛H Big castle (树形dp)
- 一个64位操作系统的实现