企业中常用的Git和Svn比较。

      • 什么是Git
      Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。  Git的读音为/gɪt/。
       
      Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
       
      • Git VS SVN
          1. Git 是分布式的,SVN 是集中式的

          2. Git 存储的是文件快照,SVN 记录的是文件修改处

          3. Git 没有全局的版本号,SVN 有全局版本号
      • 集中式 VS 分布式

          集中式:

          版本文件存储在中间服务器中,其工作方式是,首先从中间服务器上下载到工作目录,然后在工作目录进行修改,修改之后再提交至中间服务器。

          分布式:

          没有中间服务器,每个电脑都是一个版本库,工作时候不需要从中间服务器上更新下载,多人协助时候只需要将修改的文件相互推送,进行合并。

          对比:

          1. 分布式安全性更高。分布式不存在中间服务器,每个电脑都有完整的版本库,那么就不用担心中间服务器发生文件丢失,而集中式的中间服务器文件丢失比较麻烦。

          2. 分布式更为方便,不需要联网进行工作,而集中式的需要联网才可以将修改的文件推送到中间服务器中,如果文件较大,需要花费大量的时间在文件传输上。
      • 换个角度思考一直以来的争论(既然git这么好,为什么很多公司还在使用svn呢?)
           1.SVN的安全控制和权限管理更好。git 下,如果一个人clone以后,所有代码和历史都泄漏了。而 svn 有细致的按照目录级的权限控制,不开通对应目录的权限无
      法获取到目录下的内容。
           2.GUI工具,svn更加形象化,图形化界面处理更友好。
           3.git 有一定的学习成本,分布式的工作方式,需要转换思维方式
           4.有人总结成"管理用svn,代码用git
                所以,不要再问"iphone手机那么好,为什么还有人用三星?"类似的问题, 合适的才是***的。