git与svn的区别

区别一:

svn是集中式的

所有人的代码都需要连到集中管理的服务器上才能提交

git是分布式的

即使没有网络也可以在本地进行提交

举个例子

假设网络环境不好

你写的代码本来要提交的

但是因为网络的原因svn可能就会提交不上

但是git可以先提交到本地

然后继续修改代码

但是svn你没有提交如果你继续修改可能会和之前的冲突

但是因为你没有提交看不到之前你想要提交时的代码

但是git却可以

还有就是 git 是分布式的

分布式的也就是说本地会有一个所有数据的副本

查询起来特别方便不用联网

区别二:

svn的原理相当于每个文件都对应一个数组

如果文件发生改变

每提交一次那么就会和之前的版本做一个比较

然后把最后的改变存到该文件对应的数组最后面

如果没有改变就不管

看着没毛病

git则是每次把所有的文件全部保存成一个快照

相当于把所有修改的存起来

没有修改的也会存一个链接

连接到上次的

给人的感觉就是全部都存了一遍

这样相当于svn可能看不到某个版本没有修改的内容

因为没有修改没有提交

所以查看不到

但是git就可以了

因为每次他都是存储所有的

所以git会更好一点