2010-10-12 71 views
5

希望这不是一个加载的问题。我是一位长期使用hg的用户,它很好地满足了我们的需求。最近我一直在和一位顾问一起工作,他一直在关于'管理多个回购和推/拉/合并他们比hg更容易'。更具体地说,我认为他意味着将更改推向远程回购更容易。对Git不太了解,我不想告诉他没有太大的区别。我的印象是,在这两个系统中,如果来自多个源的更改发生在同一个文件中,则推拉几乎总是涉及合并。合并到Git中比在Mercurial中合并吗?

任何人都可以帮助澄清他可能是什么意思?在我开始考虑要求他扩展他所说的内容之前,他的合同就结束了。

PS我读过这些比较,他们没有具体讨论我的问题:

Important Shock: Git vs. Mercurial, Please Relax

Rockstar Programmer : The differences between mercurial and git

Steve Losh: The real differences between mercurial and git

回答

3

我想在他的发言的关键词,“管理几个回购和推/拉/合并他们更容易,“是。在Git中,创建一系列“命名”遥控器非常简单 - 您可以使用名称引用远程遥控器。从远程引入分支也很容易,并将其保存在回购站中;这些分支实质上是以远程名称命名的,所以很容易将远程分支分组在一起等等。换句话说,很容易跟踪多个远程回购,并从他们的变化拉入自己的回购。

我从v1.0开始就没有使用过Mercurial,所以我不知道Mercurial现在是否可行;就我所知,这不是我最后一次检查Mercurial。

+2

在mercurial中,您可以在'[paths]'部分添加命名路径,并用'hg paths'列出它们。 Git人通常想要一种不使用文本编辑器的方式来添加它们,但在'.hg/hgrc'或'〜/ .hgrc'中添加一行可以正常工作。 – 2010-10-12 16:43:30

+0

您是否可以将指定遥控器的所有状态(分支,标签等)存储在Hg回购中? – mipadi 2010-10-12 16:52:40

+0

@mipadi,请你举个例子吗?我不知道git,但我有一种感觉,你可以用最接近你的描述(也有一种感觉,它足够接近,但我有偏见:)是克隆远程回购,然后添加在你自己的回购库的[[paths]下面的一个条目,指向你的克隆。你不能在一个单独的hg repo AFAIK中保留远离你自己的东西(我认为这就是你说的git可以做的)。但是,是的,一个单独的克隆将跟踪所有远程分支,标签等。 – shambulator 2010-10-12 17:52:18