1、 GIT为分布式方式,SVN为集中式,这个是最核心的区别。
使用GIT,开发人员可以建立自己的分支,并在自己的分支上进行操作,减少了冲突;
2、存储的方式不一样。
GIT存储的方式是按照元数据的方式进行存储,而传统的SVN则是以文件方式存储。GIT和SVN的版本控制,是通过.git和.svn文件,.git只是在本地的版本库的目录下存在,而.svn存在于每一个文件夹,当我们不需要版本控制的时候,要删除.svn很费时。
3、GIT特别的分支。
SVN的分支管理比较简单,只是在版本库中另一个目录而已,确认代码是否已合并也相对麻烦,在分支管理方面容易产生遗留和错误。
GIT分支管理则相对复杂,但是用起来非常的爽,也特别的有趣,各个分支间可以随意的快速进行切换、合并、还原等操作。
4、从完整性上来说,GIT的完整性远远高于SVN。
SVN经常会在不同版本间使用容易出现各种问题,比如兼容性、网络不稳定性带来莫名其妙的异常,
GIT的内容存储则采用的是哈希算法,不仅能够保障了代码的完整性,而且在网络和磁盘故障方面几乎不受到任何影响。GIT可以在没有网络的情况下使用,从远程库clone一个到本地库,没有网络的情况下,可以将修改提交到本地库,等有网的时候再传上去。