好的,我正在使用 Perforce P4V 来备份我的 Unity 项目工作。我的一位队友检查了对图元文件的一些更改,这破坏了一切。没问题吧?这就是使用 P4 的全部意义。我们可以恢复它。只是...恢复不起作用?
我看到的行为是文件 A 在更改列表 1 中更改,文件 B 在更改列表 2 中更改,文件 C 和 A 在更改列表 3 中更改
假设更改列表 3 包含我在历史记录中单击更改列表 2 的错误更改,然后单击“获取修订”,并选中“强制操作”框。更改列表 2 是最后一个已知的良好状态,我期望发生的情况是将所有文件恢复到提交更改列表 2 时的状态。
相反,文件 C 已恢复,但文件 A 未恢复。就像,由于文件 A 在更改列表 2 中没有更改,所以它没有费心去获取该版本。
所以我处于一种状态,所有统一图元文件都被损坏,所有预制件引用都被破坏。
当这不起作用时,我尝试使用获取修订版返回到最新状态。然后使用退出。这同样不起作用,图元文件仍然损坏。然后,我尝试选择最后一个已知的良好状态并将整个项目文件夹回滚到该状态。再次,没有工作。但话又说回来,那时我可能已经严重损害了我的项目,以至于什么都不起作用。
我发现似乎正确恢复文件并恢复损坏的链接的唯一方法是手动选择每个文件或文件夹并将其恢复到最后一次良好的提交,这对于每个文件/文件夹来说都是不同的,因为它们是在中添加和更改的不同的提交。
我不明白的是为什么强制修订没有自己做到这一点。或者撤消错误提交的“正确”方法是什么。
我什至尝试删除整个资产文件夹,然后使用 get revisionforce 使用最后一次已知的良好提交从服务器中提取全新的副本。这似乎一次完美地工作,但是当我尝试重复它以验证我的结果时,它又丢失了所有元文件链接。恢复良好状态的唯一可靠方法似乎是手动强制将每个文件和文件夹获取到单个最后一次已知的良好提交。
这次我已经让自己不得不手动修复我的错误,但我真的很感激帮助知道如何在未来以正确的方式做到这一点。