Mercurial 变基场景
我已阅读 RebaseProject 页面并尝试了一个不平凡的示例 (不是对一个完整的分支进行变基)。这与 rebase D 的情况类似 我场景B。
这是变基之前的情况:
default : 0 ----- 2
\
feature : 1 ----- 3
现在我想在2
上变基3
,给出:
default : 0 ----- 2 ----- 3
\
feature : 1
不幸的是,确切的命令是' t 在 RebaseProject 中给出 页面,但从我对用法概要的理解应该是:
hg rebase --source 3 --dest 2
但不知怎的,我的理解一定是有缺陷的,因为我得到了与合并相结合的变基:
default : 0 ----- 2 ----- 3
\ /
feature : 1 -------
为什么会这样?
重现场景的命令:
hg init
touch a
hg add a
hg commit -m "added a"
hg branch feature
touch b
hg add b
hg commit -m "added b on feature"
hg up -C default
touch c
hg add c
hg commit -m "added c on default"
hg up -C feature
echo "feature" >> a
hg commit -m "changed a on feature"
hg rebase --source 3 --dest 2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的场景看起来与 scenario B 的
rebase G into I
部分非常相似="nofollow noreferrer">Rebase 项目 场景:在您的场景中,
D
== <代码>1,<代码>I==<代码>2和<代码>G==<代码>3。变基后,3
保持与1
的关系,就像G'
保持与D
的关系一样。这是因为D
不是I
的祖先,并且:您确实想删除这种关系,那么,根据文档,您需要一个开发版本来获取
--detach
选项:Your scenario looks very similar to part
rebase G onto I
ofscenario B
of the Rebase Project Scenarios:In your scenario,
D
==1
,I
==2
andG
==3
. After rebasing,3
maintains its relationship to1
just likeG'
maintained its relationship toD
. This is becauseD
is not an ancestor ofI
and:You really want to remove that relationship, then, according to the docs, you need a development version to get the
--detach
option: