可以根据基准进行删除吗?

Ama*_*ati 4 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
Run Code Online (Sandbox Code Playgroud)

问题在于,毕竟,“ dev”分支没有任何痕迹。我没有任何意义。在dev分支中时,我提交了一个变更集,因此它必须已保存。怎么可能消失?可以重新设置基准以某种方式将其删除吗?

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

Edw*_*ard 6

终于能够重现了!

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

运行时,pull --rebase它将拉入的变更集插入树中,然后将本地更改集从默认分支重新设置到拉出的缺省变更集上。

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

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

  • 谢谢爱德华,我现在可以确认我得到了同样的东西-如果我分支出本地变更集,则该分支将被删除。公开-没问题。虽然,我仍然不明白为什么这种行为是默认行为,而不是--keepbranches。 (2认同)