我执行了以下步骤:
我添加的两个类文件没有像我预期的那样被删除。它们出现在没有shell图标的文件夹中。
问题
答案 0 :(得分:2)
即使你hg add
这些文件,如果你还没有提交它们,当你更新它时,它会把文件留作未知文件。例如:
C:\> md test
C:\> cd test
C:\test> hg init
C:\test> echo >file1
C:\test> hg ci -Am file1
adding file1
C:\test> echo >file2
C:\test> echo >file3
C:\test> hg add
adding file2
adding file3
C:\test> hg st
A file2
A file3
C:\test> hg update -C
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
C:\test> hg st
? file2
? file3
如果您启用purge扩展程序,则hg purge
将删除状态为?
的文件。请注意,因为您要添加到项目但尚未删除的文件将被删除:
C:\test> hg add file2
C:\test> hg status
A file2
? file3
C:\test> hg purge
C:\test> hg status
A file2
答案 1 :(得分:1)
如果您没有将文件添加到存储库,我认为它们根本不受版本控制。这也意味着它们被版本控制系统单独留下,如果你想要删除它们,你必须自己删除它们。
只有实际将它们置于版本控制之下(将它们添加到存储库中),您才必须还原更改,或者从存储库中明确删除它们。
原因当然是您可能需要项目目录中的某些文件,而这些文件根本不在您的版本控制存储库中。
答案 2 :(得分:1)
在工作文件夹中使用hg update null
。检查the docs。