比较svn,git,hg区别

所有的开源版本管理工具有很多,堪用的开源版本管理工具就三个:svn, git, hg(hg就是分布式管理,Mercurial),今天公司用hg,所以了解一下svn,git,hg的区别。
相关摘取文章链接一
相关摘取文章链接二

hg:hg 是个奇迹,易用性堪比 svn,速度堪比 git,跨平台良好。hg 据说对文件重命名、移动支持不大好(新版本可能改善了,没细用),新版本支持类似 git 的轻量级分支(好像是用 tag 模拟出来的),对模块支持有个 forrest 插件,不知道好用不。hg 内置的特性远没有 git 多,但一般也够用了。hg 被很多大型项目采用,可用性有保证,如果对跨平台开发很看重,对工具易用性要求高,那么 hg 是很好的选择。

Mercurial与TortoiseHg简介这篇文章有介绍

Git的优势:

客户端存储控制。可以删除任意的版本,而无需考虑该分支的后续版本,而Hg做不到。
无限的父结点数。Hg一次只能分成2个分支,合并N个分支要进行很多次操作。而Git没有限制。
支持rebase。它可以将当前版本移到最新的分支去。例如假设有个本地库在开发1.0的新特性,而基线已经升级到1.1了;一般情况下是需要合并到1.1去的,而rebase可以避免这种操作。

Hg的优势:

学习曲线。由于很多因素,Git比Hg的学习曲线更陡峭。
支持Windows。
维护。Git需要定期维护。
历史是不可侵犯的。Git很强大,可以干几乎任何事,因此也会丢失历史信息。

  1. 很多人说 Mercurial 比较跨平台,这是比较早期的事。Git 高度依赖 Linux 环境导致早期在 Windows 上需要安装 Cygwin 等模拟环境,运作起来效能不佳。更重要的是Mercurial 在不同平台上(尤其 Windows 与 Linux 之间)有档名编码的问题,如果你的版本库可能使用到中文档名,最好不要使用 Mercurial,那会造成跨平台的交流障碍。

  2. Mercurial 胜过 Git 的主要优点是命令行简单、容易上手。然而,如果你是有心深入分散式版本控制的人,你需要追求充足的功能,并且对命令行相当熟悉,你不该贪图一时的容易上手而选择功能不足的工具。如果你只是业余想玩玩,你只要使用图形界面就好,Tortoise 系列或 SourceTree 都是很好的选择,图形界面并不存在 Git 比 Mercurial 难上手的问题,甚至由于 Git 功能比较强大,用起来往往还比 Mercurial 自由方便轻松(Mercurial 对于修改旧提交有非常多设限,对于刚上手常搞出错误提交的人非常不友善)。

  3. Git 胜过 Mercurial 的一大亮点是分支模型,Git 只有一种简单的模型,但非常全面且好用;而 Mercurial 有很多种分支方式,像神马匿名分支法、具名分支法、书签法、克隆版本库法,但每一种都有很多缺点及不便之处。

  4. Git 胜过 Mercurial 的第二大亮点是自由的修改历史。如果你有在某些时候改写历史的需求,你终究会发现 Mercurial 改写历史很麻烦,即使用了 hg histedit、hg rebase、hg graft/transplant、mq 等扩展,操作起来仍远比 Git 繁琐,更难还原错误操作之前的状态,更容易导致版本库混乱,也更容易出错导致丢失历史。

  5. Git 胜过 Mercurial 的第三大亮点是方便多个版本库的交流,因为 Git 有命名空间,你可以非常明确的区别哪些是自己的提交,哪些是别人的提交,而不致混淆。Mercurial 没有命名空间,一但和很多个版本库交流,很容易导致自己与别人的代码混成一团,就这个意义而言,Mercurial 根本不是个合格的分布式管理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 11,375评论 5 47
  • 鸽子和狗吠。人对于声音是相当敏感的。世界万物,都会发出自己的声音。水杯与水的摩擦声,空调运行的声音,摩托车启动的噪...
    被踩着的尾巴阅读 1,157评论 0 2
  • 今天早上,我们吃完早饭,就回老家去了,到了老家,已经中午了,奶奶给我们做了包子吃,包子有韭菜馅,茴子白猪肉馅等,我...
    文李红阅读 1,040评论 0 0
  • 建立财富的思维开始只有新的思维,才能够给我们带来新的方向,新的行为和全新的结果,因为走老路肯定到不了新地方,但可惜...
    听雨廖哥阅读 4,918评论 0 0