4

这是 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 分支中提交了一个变更集,所以它必须被保存。怎么可能消失?可以rebase以某种方式删除它吗?

编辑:只是为了澄清“测试”提交在那里,但它在“默认”分支中

4

1 回答 1

6

终于可以重现了!

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

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

由于您的分支dev从该本地更改集分支出来,因此它也被重新设置。此外,由于您无法传递--keepbranchespull --rebase,因此您会丢失分支名称。

为防止这种情况发生,请从dev公共变更集分支或使用--keepbranches.

于 2012-08-09T22:13:18.863 回答