现在我的项目中有几百行代码,分散在六个类中,我并不期待逐个跟踪它们。
答案 0 :(得分:4)
不,但这是一个可以避免的问题
不是hg shelve
,而是hg commit --secret
。这将在存储库中创建一个“真正的”提交,当您不再需要它时,可以对其进行重新定位或剥离(hg strip
)。它也可以使用hg histedit
或hg fold
折叠成另一个变更集(后者需要Evolve扩展,这在编写时是实验性的,而前者是交互式的,可能很难编写脚本)。
--secret
标志确保在您在变更集上手动运行hg phase -d REV
之前,不会意外推送变更集。
答案 1 :(得分:2)
是的,只需几步。 unshelve的帮助指定“如果成功应用搁置的更改,则包含搁置更改的捆绑包将移动到备份位置(.hg / shelve-backup)。”所以hg update --clean将返回到pre-unshelve状态,除非你在平均时间中添加了更改,在这种情况下你需要弄清楚如何在不需要的补丁之前恢复世界。然后,如果您希望在您喜欢的任何条件下重新执行取消搁置,您可以单独重新应用存储在备份中的补丁。无论如何,备份包含您认为缺失的数据。