我有一个提交,我修改了一些文件.其中一些文件是我在此提交中不想要的修订的一部分.Mercurial中是否有一种方法可以从提交中删除某些文件而不会丢失我对它们所做的更改?谢谢.
脚步:
Mic*_*ina 74
试用:
hg forget somefile.txt
hg commit --amend
Run Code Online (Sandbox Code Playgroud)
如果文件是新的(即你使用了hg add).
如果该文件已存在,请尝试:
cp somefile.txt somefile.txt.bak
hg revert somefile.txt --rev .~1
hg commit --amend
Run Code Online (Sandbox Code Playgroud)
这基本上是告诉mercurial revert
文件(somefile.txt
)返回状态它是一个修订版前(--rev .~1
).
只需确保在输入命令之前备份要还原的文件,这样就不会丢失更改.我的印象是mercurial会自动为你做这件事,但经过快速测试后我不太确定.
hg uncommit somefile.txt
正是为我做的。
与 plain 一样git reset
,它从提交中删除更改,但保持文件内容不变,因此现在hg diff
显示您刚刚未提交的更改。
该uncommit
命令声称来自uncommit
扩展程序,但实际上可能来自evolve
扩展程序,我承认我不是 100% 确定!