我愚蠢地没有在default
行李箱上开始分支做一些实验工作,现在意识到我所做的并不是那么好。由于这个代码实际上被其他人使用(并且在野外),我想将修订版394
(在本实验中未进行的最后一次更改)标记为正确的头部,并且基本上剥离了我所做的任何事情)。最好的方法是什么?
@ 397 my change, bad (tip)
|
|
o 396 my change, bad
|
|
o 395 my change, bad
|
|
o 394 good change
|
|
...
这应该成为
@ 394 good change (tip)
|
|
|- 397 bad change (closed)
||
||
|o 396 bad change
||
||
|o 395 bad change
|/
|
...
我是否需要根据394进行虚拟登记(这会自动创建一个新头)?这似乎是最简单的解决方案,但不是“最干净”。
答案 0 :(得分:3)
您不需要虚拟登记入住,但确实需要确保您的下次办理登机手续是从转394开始的。
hg update -r 394
<do work>
hg commit
新头将是小费。
或者,如果您没有将回购推送到任何地方[1],并且您只想永久删除这些修订版,则可以使用mq扩展名,strip
更改集或qimport
他们到补丁队列和qdel
补丁。
hg strip 395 # Will strip rev 395 and it's descendants
这很危险,请确保你做对了。
[1]如果您已经将更改集发送到任何地方,为时已晚,那么猫就不需要了。你只需要分支转394。