使用Mercurial,如果有额外的分支,我们是否需要“hg merge -r 6880”?

对于Mercurial,现在有默认分支和newfeature分支…如果我在,那是真的
newfeature分支,并做一个hg pull和hg更新,它会一直问我合并吗? (如果我提取了变更集)

而且,似乎我不能只做hg合并?我需要使用hg head然后查看newfeature分支的头部(比如它是6880版),
然后我需要合并-r 6880?否则,Mercurial会自动将newfeature分支与默认分支合并吗?我似乎无法做hg merge -b newfeature,因为hg merge没有-b选项.

除了使用hg头寻找要合并的修订版之外,还有一种更简单的方法吗?是不是有更自动的方式?

你有两个问题,让我一次拿一个(稍微复述一下):

问:当我抓住并获得一个新头时,Mercurial建议我合并.我一定要吗?

答:没有.Mercurial只是警告你,你的头数比你的多,而如果你不喜欢这种安排,你可以合并以阻止它.命名的分支是头部,所以如果拉动你会得到一个新头,你会看到这个警告

问:如果我想将一个命名分支合并到另一个分支,我是否必须提供修订号?

答:没有.确实,hg merge只会自动选择同一个命名分支上的头,但你可以执行hg merge -r newfeature,并在变更集中从发散点合并到newfeature的头部(6880在你的例子)与hg update -r 6880完全相同.

在任何一种情况下,在提交合并之后,你将无法使用newfeature(新的,结果头是默认的,因为在你开始合并之前,这是你父级的分支名称.但是,在合并之后这样做:

hg update newfeature
...code....
hg commit

将在newfeature分支上创建一个新头,并且您在合并之前就像回到原点一样,除了新功能上的所有更改现在也可以默认使用.

相关文章
相关标签/搜索