1) 最核心的区别Git是分布式的,而Svn不是分布的
2)Git把内容按元数据方式存储,而SVN是按文件
3) Git没有一个全局版本号,而SVN有
4) Git的内容的完整性要优于SVN GIT的内容存储使用的是SHA-1哈希算法
5) Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以。
6) 刚开始用时很狗血的一点,SVN必须先Update才能Commit,忘记了合并时就会出现一些错误,git还是比较少的出现这种情况。
7) 克隆一份全新的目录以同样拥有五个分支来说,SVN是同时复製5个版本的文件,也就是说重复五次同样的动作。而Git只是获取文件的每个版本的 元素,然后只载入主要的分支(master)在我的经验,克隆一个拥有将近一万个提交(commit),五个分支,每个分支有大约1500个文件的 SVN,耗了将近一个小时!而Git只用了区区的1分钟!
8) 版本库(repository):SVN只能有一个指定中央版本库。当这个中央版本库有问题时,所有工作成员都一起瘫痪直到版本库维修完毕或者新的版本库设立完成。而 Git可以有无限个版本库
9)分支(Branch)在SVN,分支是一个完整的目录。 而 Git,每个工作成员可以任意在自己的本地版本库开啟无限个分支
10)提交(Commit)在SVN,当你提交你的完成品时,它将直接记录到中央版本库,而Git的提交完全属於本地版本库的活动。而你只需“推”(git push)到主要版本库即可。Git的“推”其实是在执行“同步”(Sync)。