比较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 根本不是个合格的分布式管理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

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