svn 特点概括有以下几条:
1 每个版本库有唯一的URL(地址),每个用户都从这个地址获取资料和代码
2 用户获取代码的更新,也是从这个唯一的地址检出,同步更新。
3 提交必须有网络连接(非本地存储的版本库)
4 并非每次提交都会成功,如果两人修改了一份文件,并且对方先于你提交,则系统会提示你“请先更新再提交”,然后解决冲突 之后才能提交
5 svn可以checkout部分路径下的内容,而不用checkout整个版本或分支
优点:每个人都能看到其他用户在做什么;管理员可以给用户分配权限
缺点:如果中央服务器出现故障,那么在故障期间,用户无法提交代码,无法协同工作,有丢失数据的风险。
git的特点:
1 git中每个克隆的版本库都是平等的,你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。
2 在分布式版本控制系统中,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。
3 提交总是在本地,无需别人授权,每一次都会成功。
4 你完全可以在脱离Git服务器所在网络的情况下,如移动办公/出差时,照常使用代码库
5 团队的成员先将服务器的版本库克隆到本地;并经常的从服务器的版本库拉(PULL)最新的更新;
6 冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决。