Mercurial 与 TortoiseHg 使用入门教程
文章来源:http://www.keakon.cn/bbs/thread-1865-1-1.html
分布式版本管理工具当中,Git 和 Mercurial(意思为水银的,于是经常缩写为 Hg)是最为
流行的工具。大名鼎鼎的 Linux 就用 Git 作源码管理,而 Python 和 Firefox 则采用 Hg(你可
以在这找到一堆使用 Hg 的项目 )。
1.为何要用 分布式配置管理
2.为何选择 Mercurial
因为 Git 的优势主要在于分支,而汉化并不需要太多分支;而 Git 对 Windows 的支持似乎不
如 Mercurial,ssh 也比 http 麻烦,比较难教汉化组成员们使用;此外还有个特别的原因:
Hg 主要是用 Python 实现的(小部分使用 C 实现)。
Hg 也有个很严重的缺点:不支持针对单个文件夹的分支。如果剧本翻译和改图要建立分支
都必须复制整个仓库,而对翻译来说,图像文件并不是他需要的部分。
附:Google 还发了篇《Analysis of Git and Mercurial》 ,说明为什么 Google Code 决定支持
Hg,而不支持 Git。
Git 的优势:
客户端存储控制。可以删除任意的版本,而无需考虑该分支的后续版本,而 Hg 做不
到。
无限的父结点数。Hg 一次只能分成 2 个分支,合并 N 个分支要进行很多次操作。而
Git 没有限制。
支持 rebase。它可以将当前版本移到最新的分支去。例如假设有个本地库在开发 1.0 的
新特性,而基线已经升级到 1.1 了;一般情况下是需要合并到 1.1 去的,而 rebase 可以避免
这种操作。
Hg 的优势:
学习曲线。由于很多因素,Git 比 Hg 的学习曲线更陡峭。
支持 Windows。
维护。Git 需要定期维护。
历史是不可侵犯的。Git 很强大,可以干几乎任何事,因此也会丢失历史信息。
看起来 Git 在技术上是要强于 Hg 的,不过由于文件操作的实现依赖于操作系统,移植到
Bigtable 会存在麻烦;而且 Hg 有很好的基于 HTTP 的无状态 pushing 和 pulling,容易与
Google 的构架整合(Google 几乎所有的服务都基于 HTTP)。
评论1