Git和SVN的区别
转载自:https://blog.csdn.net/sinat_34153600/article/details/87990816
参考:狂神说Java
先简单阐述一下什么是git和svn;
SVN : (集中版本控制代表)
所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改;
所有的版本数据都存在服务器上,用户的本地只有自己以前同步的版本,如果不联网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品还有:SVN、CVS、VSS
Git: (分布式版本控制代表)
每个人都拥有全部的代码!安全隐患!
所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在联网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。但是,不会因为服务器损坏或者网络问题,造成不能工作的情况。
Git与SVN的主要区别
1)SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己的代码推送到中央服务器。集中式版本控制系统必须联网才能工作,对网络带宽要求较高。
2)Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!