mercurial - Mercurial Rebase 可以删除分支吗?

标签 mercurial branch rebase

这是 hg session 的摘要:

> 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 可以以某种方式删除它吗?

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

最佳答案

终于可以重现了!

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

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

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

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

关于mercurial - Mercurial Rebase 可以删除分支吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11892248/

相关文章:

php - Git - 每个开发人员多台机器 - 跨机器提交但不提交到主分支

assembly - MIPS 什么十六进制字编码分支指令?

已恢复的精选提交的 Git rebase 可以将其设置为 "lose"

git - 了解“git pull --rebase”和“git rebase”

由于未跟踪的工作树文件,git 失败

Git压缩分支中的所有提交而不会发生冲突

eclipse - Mercurial - 如何查看特定代码行的历史记录

mercurial - 无法从 mercurial 存储库中推/拉 - 中止 : error: An existing connection was forcibly closed by the remote host

mercurial - 将多个 Mercurial 分支 merge 在一起

mercurial - 如何更改默认分支以推送到 Mercurial 中?