我有如下的提交结构。
a->b->c
现在c是一个实验,它和b有很大的不同(以至于对b的任何修改都会导致c的冲突)。我想保留c,但又想停止主链。因为b和c之间的冲突太多,简单的重定基将是一堆工作。
所以我想让
a->b
\->c'
哪儿 c'
是简单的工作空间的副本,在 c
. 在git中,我会使用 git reset --soft a
并为我的 c'
在 mercurial 中有没有类似的东西可以做?
听起来你想使用 revert --all
伪命令 a
,c
是指提交的revids)。)
update -r a
revert --all -r c
commit -m "new c"
strip -r c
使用GUI使用revert all的指南可以在下面找到 此处
所以我把我最后做的事情发上来,但希望能得到更好的答案。
a
从 b
将不再说 nothing to rebase
.a->b->c
\->f
hg rebase -s b -d f --keep
克隆整个分支。a->b->c
\->f->b'->c'
hg histedit
把c'折起来,然后放下f.a->b->c
\->c''
hg prune c
a->b
\->c''