| Git | Mercurial | |
|---|---|---|
| 实现 | 因为命令和代码仓结构日期提高地复杂度,Git可能需要花团队更多的时间适应。 | 更简单且更符合只觉得命令,可以帮助团队更快适应和使用。 |
| 分支管理 | Git允许你在任何时候增删改查任意分支,同时不影响之前的commit。 | 需要对仓中所有关联文件重新作出变更 |
| 历史记录管理 | Rollback, Cherry-pick, Rebase | 一旦提交记录,除了Rollback之外不可更改 |
| 版本跟踪(RevisionTracking) | 通过SHA-1计算得到一个和之前commit不同的值。 |
自增的,数值类型的版本id(0,1,2...) |
| 回滚 | 支持Revert操作,及Cherry-pick,Rebase操作 | 支持Backout和Revert操作(Backout实际上是创建了一个移除过去的提交) |
| 速度 | 比Mercurial略慢 | 某些方面比Git略快 |
| 支持 | 主要为Linux用户 | 基于python,同时更加重视windows用户 |
| 复杂度 | 更复杂 | 比Git简单 |
| 社区支持 | 比mercurial更大的活跃社区 | 社区更小,用户更少 |