HG rebase使用书签名称

时间:2015-11-10 00:48:39

标签: git mercurial

在git中我们可以运行如下命令:

git checkout master
git pull
git checkout mybranch
git rebase master

将在mybranch上进行提交并将其重新绑定到更新的主服务器上。即:线性化mastermybranch的提交。我知道有一个针对mercurial的rebase扩展,但似乎它根据修订号而不是书签名进行变基。有没有办法让它与书签名称一起使用?

1 个答案:

答案 0 :(得分:5)

hg rebase命令不仅接受修订号,还接受书签,标签,分支名称,revsets;基本上,任何可用于引用修订的东西(例如几乎任何带有REV参数的命令)。我能想到的Mercurial命令仅限于修订号(请参阅hg help revisionshg help revsets)。

那就是说,虽然你可以完全以类似Git的方式操作Mercurial(如果那是你最熟悉的,你应该坚持使用它),请注意线性化历史是Git的特性,因为Git的历史很大程度上是匿名的。具有命名分支(例如Mercurial或Fossil)或分层日志(例如Bazaar)的版本控制系统实际上不需要线性化历史记录。

当然,Rebase对于其他用途仍然有用,或者如果您更喜欢使用书签而不是命名分支。

相关问题