我的 Mercurial 队列中有一个已应用的补丁,如何将此补丁转换为我的工作副本中未提交的更改(好像我从未使用 qnew 创建过补丁)?
问问题
62 次
2 回答
1
告诉 Mercurial 刷新补丁但排除所有文件。这将使补丁中的所有更改都未提交到您的工作文件夹中。您只剩下一个可以弹出和删除的空应用补丁。
hg qref -X *
hg qpop -f
hg qdel <patch>
于 2014-07-26T20:23:15.750 回答
0
好吧,在没有其他答案的情况下,这就是我最终要做的事情:
首先从补丁堆栈中弹出补丁,使其不再应用
hg qpop thepatchname --keep-changes
我不确定这是否有--keep-changes
必要,但我有我想保留的本地未提交的更改。
接下来我不得不搁置我的工作副本中的一些未提交的更改,以便我可以应用补丁
hg shelve
现在使用命令应用存储在 .hg/patches 中的补丁import
,并带有 --no-commit 选项,这样补丁就不会提交到您的存储库。
hg import .hg/patches/thepatchname --no-commit
您现在可以根据需要删除补丁。
于 2014-07-25T12:50:08.807 回答