Git/Mercurial (hg) 意见

标签 git mercurial

首先声明一下,我不是一个专业的程序员,而是一个有需求并且必须学习的工程师。我总是一个人工作,所以只有我和我的七个 split 人格……我们作为一个团队工作得很好 :) 我的大部分工作都是用 C/Fortran/Matlab 完成的,到目前为止我一直在学习 git 来管理这一切。然而,虽然我没有遇到无法解决的问题,但我从来没有对它感到“那么”高兴……对于我做不到的一切,我必须查阅一本书。而且,一段时间以来,我一直听到很多关于 Mercurial 的好消息。
现在,我的一位同事将不得不和我一起完成一个项目(我几乎为他感到难过),他开始学习 Mercurial(说他更喜欢它),而我自己也在考虑转换。

我们几乎完全在 Windows 平台上工作(尽管我使用 Unix 工具和来自世界那个地区的东西管理得相对不错)。

因此,我想知道,在所描述的场景中,我预计交换机会出现什么问题。我听说 Mercurial 在用户界面方面对 Windows 用户更友好。

它如何处理存储库?它是否以与 git 相同的方式创建它们(工作目录中只有一个子目录),我可以只复制整个项目目录(包括 git repo)并将它们带到某个地方而无需额外考虑吗? (当我选择 git/svn 时,我真的很喜欢这一点)。

有什么好书可以推荐吗(比如 Pro Git,只适用于 Mercurial)。

将 Mercurial 实现到 Windows 的 Visual Studio/GVim 或 Windows 资源管理器中的好方法是什么,这样我就可以相对轻松地工作(我想避免使用命令行来处理所有相关的事情,比如在 git shell 中)。

还有什么我应该注意的吗(请不要向我提出其他问题......他们只是给了我大量信息,我不确定我应该采取什么一样重要,以及忽略什么)。我正在努力减少一些时间,因为我不能像学习 git 那样把所有的时间都花在重新学习 Mercurial 上。

我还听说 git 是 c 项目,而 mercurial 是 python ...在速度上有什么明显的区别吗? git 非常快......我会在工作时遇到一些等待。

注意:比方说,我所有的项目都是中等规模的……主要是数值模拟……10-15000 行(中等规模?)

最佳答案

Git 优点:

  • 超快(可很好地扩展到非常大的项目)
  • 极度灵活
  • 非常适合 Unix 哲学的 C 工具

Git 缺点:

  • 陡峭的学习曲线
  • GUI 工具存在,但(IMO)并不是那么可靠

HG 优点:

  • 非常快(虽然不如 GIT 快)——对于 15-20k 行的项目,延迟不应该是一个重大问题
  • 漂亮的 GUI 工具,即使在 Windows 上也是如此(TortoiseHg 很好而且非常成熟,还有其他工具)
  • 有据可查,即使是 windows 版本也有一个漂亮的 GUI,带有变更集的图形 View
  • 学习曲线比 GIT (imo) 稍微容易一些

Mercurial 缺点:

  • 比 git 慢一些
  • 可能不太灵活

还有其他显着差异,但这些是我认为最重要的差异。老实说,如果我主要在 Windows 上工作,我可能会选择 Mercurial。

关于Git/Mercurial (hg) 意见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2527276/

相关文章:

用于处理 Microsoft Word 和/或 OpenOffice 文件的 Git(或 Hg)插件

git - 如何在 Git 中以交互方式将文件从一个分支 checkout 到另一个分支

Git:我的本地存储库在哪里? (没有 .git 目录)

Git - 获取两个修订版之间相同的文件列表

svn - sourcecontrol - 只引入特定的修订

mercurial - 使 Mercurial 存储库中的 .hgignore 可用于所有子存储库?

N 天前的 Git checkout 存储库

git stash 并申请

git - 基于 kohana 的项目的源代码控制结构

eclipse - 跨 Eclipse、Mercurial、Windows 和 Mac OS 的编码问题