目前还在学习阶段,从网上找的一些资料,对能理解的整合一下;
Git优势:
Git下载下来后,在本地不必联网就可以看到所有的log,很方便学习,SVN却需要联网;
Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;
它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。
版本库的安全性
SVN版本库安全性很差,是管理员头痛的问题。
● SVN版本库服务器端历史数据被篡改,或者硬盘故障导致历史数据被篡改时, 客户端很难发现。管理员的备份也会被污染。
● SVN作为集中式版本控制系统,存在单点故障的风险。备份版本库的任务非常繁重。
Git在这方面完胜SVN。首先Git是分布式版本控制系统,每个用户都相当于一份备份, 管理员无需为数据备份而担心。再有Git中包括提交、文件内容等都通过SHA1哈希保证数据的完整性, 任何恶意篡改历史数据都会被及时发现从而被挫败。
更多的十条喜欢Git的理由
更多的十条喜欢Git的理由,参见 《Git权威指南》 第11-21页。
● 异地协同工作
● 现场版本控制
● 重写提交说明
● 无尽的后悔药
● 更好用的提交列表
● 更好的差异比较
● 工作进度保存
● 作为SVN前端实现移动办公
● 无处不在的分页器
● 快
什么情况推荐使用SVN
SVN具有的悲观锁的功能,能够实现一个用户在编辑时对文件进行锁定,阻止多人同时编辑 一个文件。这一悲观锁的功能是 Git 所不具备的。对于以二进制文件 (Word文档、PPT演示稿) 为主的版本库,为避免多人同时编辑造成合并上的困难, 建议使用SVN做版本控制。
将继续学习并实践,然后再来补充..
原文:http://www.cnblogs.com/selfimpro/p/5261318.html