SVN和git的区别

最近在学习使用SVN,于是就产生了一个问题,SVN和git到底有什么区别?我参考了一些网上的资料,做了一个简单的总结。

  一、从原理方面说一下SVN和git的区别

  二、从应用方面说一下SVN和git的区别

  1、从原理方面说一下SVN和git的区别

  首先两者之间最核心的区别就是git属于分布式控制系统,SVN属于集中式控制系统。简单来说前者就是以每一台主机都当成一台服务器,而后者则是只有一台服务器来维护和控制代码。其两者区别如图所示。

  如图所示

 如图所示,SVN的管理方法是一台主服务器管理所有主机,这样所有代码全部传输到服务器上统一管理。而git采用单个主机管单个主机的方法,即主机2将主机1中所有的信息和内容拷贝到自己的主机下,而主机3,主机4以此类推。

      2、从应用方面说一下SVN和git的区别

  搞清楚了原理,我们就能搞清楚应用了。我个人觉得git的性能是完全优于SVN的。因为相比较SVN,git有如下好处:

  1、如果一旦出现断电,SVN里面的数据全部消失,但是git则不会。

  2、使用SVN时,必须联网,否则不能使用。但是git只要第一次将代码下载到自己的主机上,以后就不用联网也可以查看历史记录什么的了。

  最后说一下应用场景:以我们公司为例,SVN是专门用来维护文档的,而git则是用来维护代码的。

  另外补充一点:SVN和git的区别其实还是挺多的,比如说什么git没有全局的版本号,不过可能对于我来说目前只有这两种情况能用到,其他的还没有做过实验,因此如果有哪位看官感兴趣可以自己去尝试。

  好,就写道这里吧,祝愿大家代码永无bug。

原文地址:https://www.cnblogs.com/songyuchen/p/12564860.html