Answers:
与使用p4 obliterate
命令相比,这两种操作都可以将一组文件还原到以前的状态,并且实质上是比使用命令更快,更安全的方法来消除错误(并且不需要管理员访问权限即可使用它们)。
在“回滚...”的情况下,它可以是任意数量的文件,甚至可以是整个软件仓库。您可以告诉它回滚到特定的修订版,变更列表或标签。文件将恢复到创建该修订版,变更列表或标签时的状态。
在“回退已提交的更改列表#####”的情况下,还原操作仅限于在更改列表#####中提交的文件。如果此后未对这些文件进行任何更改,这些文件将还原到提交该更改列表之前的状态。如果对这些文件中的任何一个进行了后续更改,Perforce将告诉您这些文件现在已过期。您将必须同步至主要修订版,然后解决差异。这样,您就不会无意间破坏了您真正想要保留的任何更改。
这两个操作基本上都是通过将旧修订作为新修订提交的。当您执行“回滚...”时,您将文件恢复到特定时间点的状态,而不管此后发生了什么。当您执行“回退...”时,您尝试撤消在特定时间点所做的更改,同时保持此后发生的更改。
撤消变更列表提交
您不能撤消成功提交的更改列表,但是可以通过两种方式撤消先前提交的更改:
回滚可将文件或文件集还原回指定的更改列表,日期或修订版。在该时间点之后所做的任何更改都不会保留。 撤消可删除在给定的更改列表,日期或修订版上进行的特定更改,但允许用户保留在后续修订版中所做的更改。
有关详细信息,请参阅https://www.perforce.com/perforce/r13.1/manuals/p4v/Working_with_changelists.html