如何丢弃Perforce中所有未提交的更改?

时间:2014-04-01 15:45:02

标签: perforce

什么是p4命令可以在Perforce工作区中丢弃所有未提交的更改?

使用Git时,类似的命令是:git reset --hard

2 个答案:

答案 0 :(得分:11)

如果您还没有检出您编辑过的文件,请先执行

p4 reconcile ...

获取Perforce跟踪的更改。

如果要撤消的更改已存在于任何更改列表中,则您不需要此功能。

然后,从工作区的根目录

p4 revert ...

...是给定目录下所有内容的Perforce通配符,而不是您必须自己填写的内容。

如果您还想从磁盘中删除未跟踪的文件,那么如果您使用的是2013.2或更高版本,则可以将-w传递给p4 revert以删除新添加的文件。有关此选项的一些背景信息,请参阅this answer

reconcile步骤将首先检测这些文件并将其标记为添加,然后revert步骤将取消标记它们以添加和删除它们。如果-w不可用,那么没有干净的方法可以执行此操作,并且文件将在恢复后保留在未跟踪的磁盘上。

答案 1 :(得分:3)

p4 revert是您正在寻找的命令。

请记住,如果您只想恢复指定的更改列表,则必须指定其更改列表编号,如:

p4 revert -c changelistnumber

或者,如果您没有从工作区根目录运行它,请指定工作区/客户端名称,例如:

p4 revert //myWorkspace/...