区别一:
svn
是集中式的
所有人的代码都需要连到集中管理的服务器上才能提交
git
是分布式的
即使没有网络也可以在本地进行提交
举个例子
假设网络环境不好
你写的代码本来要提交的
但是因为网络的原因svn
可能就会提交不上
但是git
可以先提交到本地
然后继续修改代码
但是svn
你没有提交如果你继续修改可能会和之前的冲突
但是因为你没有提交看不到之前你想要提交时的代码
但是git
却可以
还有就是 git 是分布式的
分布式的也就是说本地会有一个所有数据的副本
查询起来特别方便不用联网
区别二:
svn
的原理相当于每个文件都对应一个数组
如果文件发生改变
每提交一次那么就会和之前的版本做一个比较
然后把最后的改变存到该文件对应的数组最后面
如果没有改变就不管
看着没毛病
git
则是每次把所有的文件全部保存成一个快照
相当于把所有修改的存起来
没有修改的也会存一个链接
连接到上次的
给人的感觉就是全部都存了一遍
这样相当于svn
可能看不到某个版本没有修改的内容
因为没有修改没有提交
所以查看不到
但是git
就可以了
因为每次他都是存储所有的
所以git
会更好一点