35

我在 Mercurial 中应用了大型 MQ 补丁。发生的事情是我已经完成了 qrefresh 并在我的补丁中包含了我不想包含的文件。有没有办法在不手动编辑的情况下从我的补丁中删除对这些文件的更改?在这种情况下,如果我只是在没有 MQ 的情况下工作,我所要做的就是 hg revert。

4

3 回答 3

46

应用补丁后:

hg qrefresh -X [file1] -X [file2] ... -X [fileN]

会取出file1到fileN的补丁。完成后,键入hg status以验证文件现在被标记为已修改,因此不再是补丁的一部分。

于 2010-05-28T12:33:39.070 回答
2

我认为您可以使用使补丁成为当前补丁(已应用并位于堆栈顶部),然后使用hg forgetand hg qrefresh

当然hg forget只是hg remove不需要额外的选项来避免文件删除。

于 2010-03-03T18:00:54.003 回答
1

执行此操作的最简单方法是hg qrefresh处理除您要删除的文件之外的所有文件 - 这会将更改从补丁中取出而不丢弃它们。

于 2010-03-13T17:07:06.460 回答