mercurial rebase可以删除分支吗?

时间:2012-08-09 21:32:09

标签: mercurial branch rebase

这是hg会话的摘要:

> hg branch dev
marked working directory as branch dev
(branches are permanent and global, did you want a bookmark?)
> hg branch
dev
> hg ci -m 'test'
> hg update default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
> hg pull --rebase
pulling from ssh://hg@bitbucket.org/user/repo
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 44 changes to 44 files (+1 heads)
saved backup bundle to C:\repo\.hg\strip-backup\edc5f75b39d1-backup.hg

问题在于,在所有这些之后,“dev”分支都没有任何痕迹。我无法理解它。我在dev分支中提交了一个变更集,所以它必须已经保存。怎么可能消失?可以以某种方式删除它吗?

编辑:只是为了澄清“测试”提交是否存在,但它位于“默认”分支

1 个答案:

答案 0 :(得分:6)

终于能够重现它了!

您的命名分支从默认分支上的本地变更集分支。

当您运行pull --rebase时,它会将拉出的变更集插入到树中,然后将您的本地变更集从默认分支重新绑定到拉出的默认变更集。

由于您的分支dev已从该本地更改集分支出来,因此它也会被重新绑定。此外,由于您无法将--keepbranches传递给pull --rebase,因此会丢失分支名称。

要防止这种情况发生,请从公共变更集中分支dev或使用--keepbranches手动运行rebase。

相关问题