为什么 p4 flush 不更新我的 have 列表?

Why does p4 flush not update my have list?

我的p4客户端版本是P4/NTX64/2018.1/1705517.
我注意到我的工作区中的一些文件被意外删除了。我同步了,但是还是没有出现文件。
然后我 运行 p4 have 命令并看到它包含丢失的文件,因此 p4 不会将这些文件包含在同步中。
当然我可以给 p4 sync 命令加上 -f 标志,但是我的工作空间相当大,所以需要很长时间。
然后我 运行 flush 命令,即使带有 -f 标志,我认为它会更正我的 have 列表以反映我在工作空间的文件系统上实际拥有的内容,但它没有。我做错了什么?

p4 flush 更改 have 列表以匹配您告诉它匹配的任何内容(如果没有参数,则 #head 是默认值)。如果这不是您的工作区实际包含的内容,那么 have 列表现在与工作区不同步,并且未来的 p4 sync 命令可能会跳过一堆文件(就像您现在看到的一样)。

您需要的命令是 p4 clean,它会同步您的工作区以匹配您的列表。 (如果您对未打开的文件进行了更改,包括您尚未使用 p4 add 打开的 "new" 个文件,这将不可撤销地破坏它们。小心!)

如果您想打开与您的列表不匹配的文件,请改用 p4 reconcile。 (您可以跟进 p4 revert 放弃更改,或 p4 submit 永久保留它们。)