Git 的优点主要有:html
一、更方便的 Mergegit
分布式管理必然致使大量的 Branch 和 Merge 操做。所以分布式版本控制系统都特别注意这方面。在传统的 CVS 里面制做 Branch 和 Merge 简直就是噩梦,Subversion 做为一个用于替代 CVS 的系统,专门改进了 Branch 操做。然而彷佛人们没有注意到,Branch 是轻松了,但是 Merge 呢?若是不能很方便地 Merge 回来,作 Branch 仍然是噩梦。服务器
事实上,我就经历过在开发团队里面因为队友操做不对而在 Merge 的时候把个人许多代码都覆盖掉了。当时正是使用的 subversion 。虽然源代码仍然在历史里面,可是要去一个一个地找出被覆盖掉的文件并恢复过来确实是一件很难忘的事情。微信
二、更方便的管理网络
传统的版本控制系统使用中央仓库,一些仓库相关的管理就只能在仓库上进行。赋予开发团队每个人中央仓库的管理权限是很是很差的。可是有时候确实会比较不方便的地方。机器学习
三、更健壮的系统分布式
分布式系统通常状况下老是比单服务端的系统要健壮,由于当服务端一旦挂掉了整个系统就不能运行了。然而分布式系统一般不会由于一两个节点而受到影响。学习
四、对网络的依赖性更低测试
虽然如今网络很是普及,可是并非随时随地都有高速网络,甚至有时候根本没有网络能够访问。低速的网络会让人心情烦躁,有时候就呆呆地盯着屏幕上的 commit 进度,什么事情也干不了。而没有网络链接更是致命的:你没法 commit !这表示你进行任何改动之前都必须当心翼翼,不然你可能再也找不会你曾经写的一些代码了。大数据
五、更少的“仓库污染”
有时候你要作一个模块,它不是太大,因此没有必要为它新建一个 branch ,可是它又不是那么小,不可能一次提交就作好。因而便会提交一些不完整的代码到仓库,有时候会致使整个程序没法运行,严重影响团队里其余人的开发。大多数人在这种状况下的解决办法都是写完以后再提交。可是做为习惯了版本控制的人来讲,进行不计后果的大幅修改是常常的事情,到后来忽然发现本身先前的代码没有提交,就后悔莫及了。若是是分布式系统的话就不会存在这样的问题,由于本地仓库的修改不会影响到别人的仓库。当你完成并测试之后,就能够在邮件列表里面说:我已经把这个模块作好了。而后感兴趣的人就能够从你这里 pull 你的成果了。
虽然网上各类对Git的誉美之词决不止于此,可是在Git的主站上,仍是尽量客观的对Git和Subversion进行了一番比较(GitSvnComparsion)。另外,Subversion目前经过 SVK 也已经提供了必定程度上的源代码库分布式的管理能力,可以实现源代码的离线提交等功能。
优势:
(1)适合分布式开发,强调个体。
(2)公共服务器压力和数据量都不会太大。
(3)速度快、灵活。
(4)任意两个开发者之间能够很容易的解决冲突。
(5)离线工做。
同时,你们能够关注个人我的博客:
http://www.cnblogs.com/zlslch/ 和 http://www.cnblogs.com/lchzls/
详情请见:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和我的学习工做的精华干货知识,一切来于互联网,反馈回互联网。
目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及日常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,天天必须有收获
以及对应本平台的QQ群:161156071(大数据躺过的坑)