在Mercurial中复制分支吗?

问题描述 投票:1回答:2

如何在Mercurial中复制分支?我需要新的分支反对头(就像第一个一样)。

GIT等效项(如果我在a分支中,则为:

git checkout -b branch-b 
mercurial
2个回答
3
投票

Mercurial分支是一个命名实体,由分支内包含的所有提交组成。因此,为了复制某些现有分支,还必须将其所有提交复制到新分支中的新提交。然后我们进入metaphysics arguments about commit identity.可能根本不是一个好主意,但是如果您[[do想要去这里,请使用hg graft将所有所需的提交Git分支由包含原始提交哈希ID的名称组成。因此,使用新名称复制Git分支很简单。请注意,包含任何给定提交的分支集会随着时间动态变化:仅在feature/tall上的分支现在可能仅在master上,即使该提交仍然是该提交,即使通过大多数这些形而上的参数也是如此。 (只有“随着时间的推移没有身份”这个参数,我们才可以说这是不相同的提交。)

另一种表达方式是,Mercurial的分支实际上

mean

某些东西,但是Git却没有。如果需要真正的分支,则首先不能使用Git。不要试图将Git的怪癖引入Mercurial:您只会使自己的生活痛苦不堪。

尽管与此同时,Mercurial像Git一样包含DAG。如果您使用Mercurial书签,则它们的作用类似于Git分支。那么,仅使用书签并完成此操作可能会更明智。

如果其他所有方法都失败,请参见hg graft

0
投票
反对的新分支
© www.soinside.com 2019 - 2024. All rights reserved.