从 helix 服务器中删除文件和文件夹,同时将它们保留在 pc 上

Posted

技术标签:

【中文标题】从 helix 服务器中删除文件和文件夹,同时将它们保留在 pc 上【英文标题】:Deleting files and folders from a helix server while keeping them on the pc 【发布时间】:2021-07-19 01:43:02 【问题描述】:

我是 perforce 的新手,我按照要求将我以前的项目提交给它,并稍后添加了 p4ignore。但现在我不希望 p4ignore 中的文件像服务器上的 .vscode 文件夹一样,但是当我尝试标记为删除时,它也会从我的机器中删除它们。如何在我的服务器上删除它们但将它们保留在本地计算机上

【问题讨论】:

【参考方案1】:

您可能想使用p4 obliterate 命令;这用于从服务器中永久删除文件(包括其所有历史记录),这将使您的本地文件处于未跟踪状态。请注意,这需要admin 级别的权限,因为文件历史记录通常被认为是不可变的。

如果您无法获得管理员的帮助,您可以使用p4 delete -k 命令打开文件进行删除,同时保留本地文件。这有点棘手,因为它仍然会导致删除修订,如果您不小心,您可能会在某个时候通过同步操作删除您的本地文件而感到惊讶(例如,强制同步可能会删除您的本地文件以强制他们同意 head depot 修订,即使他们不在客户端列表中)。

为避免那个潜在问题,在您删除文件后,将它们从您的客户端视图中排除。这不仅会阻止它们被添加(类似于.p4ignore),而且还会将它们从涉及客户端文件的任何操作中坚决排除,包括同步。 (我通常建议首先使用客户端视图而不是 p4ignore 来排除文件——它具有在服务器上被跟踪的优点,并且它还可以防止您同步其他工作区提交的“忽略”文件,这些文件的设置不不符合你的。)

tl;dr:如果可以,请使用 obliterate 来处理错误添加的文件,否则请结合使用 delete -k 和客户端视图调整来确保软件仓库和客户端文件彼此隐藏。

【讨论】:

以上是关于从 helix 服务器中删除文件和文件夹,同时将它们保留在 pc 上的主要内容,如果未能解决你的问题,请参考以下文章

c#helix-toolkit,如何从源代码打开示例

git如何恢复本地删除的文件

尝试删除存在的文件时出错

webmin /var/www 文件夹删除,同时删除用户

nodejs multer diskstorage在保存到磁盘后删除文件

从文件中读取而不阻止它被删除