我可以在没有克隆存储库的情况下分支Mercurial吗?

时间:2010-09-29 02:19:44

标签: mercurial branch

最近,我开始尝试使用Mercurial,因为它总是吸引它,因为它的简单性和“正常工作”原则。或者至少,其他人总是如此描述它。

他们通常也将其描述为“几乎和git一样只有一些你不会注意到的小改动” - 只是让我发现它并非如此。

我遇到了Hg分支的问题。请原谅我这是一个过于简单的问题,但在git中有一个工作目录和一个repo(.git)。在repo中,有一个版本和分支,并且可以从一个跳转到另一个。

我在Hg找到类似的模型时遇到了麻烦。据我所知,为了让Hg拥有一个“分支”,需要将一个repo克隆到另一个目录? Hg是否可以像git一样工作 - 即一个工作目录,还有一个回购,你可以在其中做分支和转速的事情吗?

3 个答案:

答案 0 :(得分:7)

Mercurial支持一组非常丰富的分支方法。见http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

简而言之,您可以通过运行

创建命名分支
hg branch NewBranch

并使用

切换到该分支
hg up NewBranch

或使用

切换回主干
hg up default

答案 1 :(得分:3)

在Mercurial中,如果你去任何特定版本,你总是可以编辑你的工作副本并提交,从而制作另一个“头”。默认情况下,合并适用于头部修订。您可以使用hg head查看存储库中的磁头。这似乎是我发现在Mercurial工作的最“惯用”方式。

答案 2 :(得分:2)

在StackOverflow上查看my answer to "Git and Mercurial - Compare and Contrast"中有关分支 的 部分。

有关Mercurial分支的各种选项的信息(匿名头,未传播(我认为仍然)书签和全球(全球)< strong>提交标签又名命名分支)取自http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/,并使用FreeNode上#mercurial IRC频道的反馈进行扩展。