1. Git是分布式版本控制系统,不需要联网就可以使用,且速度较快;而Svn是集中式的版本控制系统,必须联网才能使用,且速度较慢
2. Git把内容按元数据方式存储,而Svn是按文件存储,Git的目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等
3. Git没有一个全局版本号,而Svn有
4. Git的内容完整性要优于Svn,因为Git的内容存储使用哈希算法,这能确保内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏
5. Git下载下来后,在offline的状态下可以看到所有的log,Svn不可以
6. 版本库:Svn只能有一版本库集中存放在中央服务器上,所以必须先从中央服务器获得最新版本才能工作,而Git可以有无限多个版本库,每个人的电脑都已是一个完整的版本库
7. 分支在Svn是一个完整的目录,且这个目录拥有完整的实际文件,如果工作人员想要开启新的分支,将会影响全部,而对于Git,每个人可以任意在自己的本地版本开启无限个分支进行修改,只有不合并及提交到主要版本库,就不会影响其他工作人员
8. 提交:在Svn中,当提交自己的完成品时,它将直接记录到中央版本库,而Git的提交属于本地版本库的活动,只需“推”(git push)到主要版本库即可
总结:Git版本库可以不依赖网络做任何事情,对分支和合并有更好的支持。