我有一个提交,我修改了一些文件。其中一些文件是我在此提交中不想要的修订的一部分。 Mercurial中是否有一种方法可以从提交中删除某些文件而不会丢失我对它们所做的更改?谢谢。
步骤:
答案 0 :(得分:72)
试试:
hg forget somefile.txt
hg commit --amend
如果文件是新的(即您使用了hg add)。
如果该文件已存在,请尝试:
cp somefile.txt somefile.txt.bak
hg revert somefile.txt --rev .~1
hg commit --amend
这基本上告诉revert
文件(somefile.txt
)回到它之前的状态(--rev .~1
)。
只需确保在输入命令之前备份您要恢复的文件,这样您就不会丢失更改。我的印象是mercurial会自动为你做这件事,但经过快速测试后我不太确定。
答案 1 :(得分:0)
ID Name Department HasDirectReport HasWrongTitle
100 John Doe1 Admin True False
101 John Doe2 IT False True
102 John Doe3 HR True False
103 John Doe4 Finance True True
正是为我做的。
就像普通的hg uncommit somefile.txt
一样,它从提交中删除了更改,但文件内容保持不变,所以现在git reset
显示了您刚刚未提交的更改。
hg diff
命令声称来自uncommit
扩展名,但实际上可能来自uncommit
扩展名,我承认我不确定100%!