搁置后 p4v 不会删除通过 `p4 add` 添加的新文件
p4v doesn't delete new files added through `p4 add` after shelving
我今天尝试搁置文件并检查了 Revert checked out files after they are shelved
选项,在搁置文件后,一些文件已经恢复,但有些文件仍然存在。这些似乎是通过 p4 add
添加的新文件。搁置后不删除此类文件是默认行为吗?有没有办法在搁置过程中将它们移除?
您在 P4V 中所做的(搁置并恢复)实际上是两个命令的简单组合:shelve
和 revert
。在幕后,P4V 将搁置您的工作(确实如此),然后恢复更改列表中的所有内容。
现在,revert
命令恢复 p4 add
s 的方式使它们从您的更改列表中消失(恢复的本质)但它们保留在本地文件系统中(以防止无意中丢失code/data)。是的,您可以争辩说,在这方面 revert
在完全恢复您的工作方面做得不是很好,但显然 Perforce 已决定安全起见,不删除您的工作。
正如@Bryan Pendleton 所说,当您还想从文件系统中删除 p4 add
时,可以使用 p4 revert -w
而不是普通的 p4 revert
。它不是单独的命令,只是 p4 revert
的变体。但是,当 运行 从 P4V 执行 "Shelve-and-Revert" 组合操作时,无法指定 -w
标志(-w
行为)。 (事实上 ,即使在 P4V 的普通 "Revert" 操作中也无法指定 -w
。)
我假设你不会因为这个原因从 P4V 切换到命令行(切换到 运行 p4 shelve
后跟 p4 revert -w
),所以请记住P4V 有这个小问题,如果需要,还原后删除本地文件。
我今天尝试搁置文件并检查了 Revert checked out files after they are shelved
选项,在搁置文件后,一些文件已经恢复,但有些文件仍然存在。这些似乎是通过 p4 add
添加的新文件。搁置后不删除此类文件是默认行为吗?有没有办法在搁置过程中将它们移除?
您在 P4V 中所做的(搁置并恢复)实际上是两个命令的简单组合:shelve
和 revert
。在幕后,P4V 将搁置您的工作(确实如此),然后恢复更改列表中的所有内容。
现在,revert
命令恢复 p4 add
s 的方式使它们从您的更改列表中消失(恢复的本质)但它们保留在本地文件系统中(以防止无意中丢失code/data)。是的,您可以争辩说,在这方面 revert
在完全恢复您的工作方面做得不是很好,但显然 Perforce 已决定安全起见,不删除您的工作。
正如@Bryan Pendleton 所说,当您还想从文件系统中删除 p4 add
时,可以使用 p4 revert -w
而不是普通的 p4 revert
。它不是单独的命令,只是 p4 revert
的变体。但是,当 运行 从 P4V 执行 "Shelve-and-Revert" 组合操作时,无法指定 -w
标志(-w
行为)。 (事实上 ,即使在 P4V 的普通 "Revert" 操作中也无法指定 -w
。)
我假设你不会因为这个原因从 P4V 切换到命令行(切换到 运行 p4 shelve
后跟 p4 revert -w
),所以请记住P4V 有这个小问题,如果需要,还原后删除本地文件。