Perforce 恢复Performance中的多个签入

Perforce 恢复Performance中的多个签入,perforce,Perforce,我用perforce做了几次登记。我没有意识到所有这些都是不必要的。我想恢复工作目录中最后x修订版的所有更改,更新版本号,然后签入 我对Mercurial很熟悉。我对此的理解是: $ hg revert -r last_good_changeset . $ edit version-number.txt $ hg ci 在perforce中有没有类似的方法?在perforce中,还原是指将文件恢复到签出前的状态。您要做的是退出已提交的变更列表。根据你的具体情况,有几种方法来做你想做的事情 例如

我用perforce做了几次登记。我没有意识到所有这些都是不必要的。我想恢复工作目录中最后x修订版的所有更改,更新版本号,然后签入

我对Mercurial很熟悉。我对此的理解是:

$ hg revert -r last_good_changeset .
$ edit version-number.txt
$ hg ci
在perforce中有没有类似的方法?

在perforce中,还原是指将文件恢复到签出前的状态。您要做的是退出已提交的变更列表。根据你的具体情况,有几种方法来做你想做的事情

例如,如果您有特定文件的修订版1-6,并且希望回滚到修订版3,则应执行以下操作:

p4 sync myfilename#3
p4 edit myfilename
p4 sync myfilename
您告诉Perforce从仓库获取修订版3,将其签出进行编辑,然后尝试将其同步到仓库中的最新版本。由于该文件是从早期版本签出的,因此Perforce会安排一个解决方案,以便您需要告诉它您要对该文件执行什么操作:在仓库中接受版本、接受本地更改,或者尝试将两者合并。您需要告诉Perforce接受本地版本,或者用Perforce的说法:

p4 resolve -ay myfilename
解决后,您可以通过以下方式提交:

p4 submit
如果您有一系列要执行此操作的文件,例如,您已在给定目录中编辑了一组文件,并将它们一起签入了好几次,并且您希望退出所有这些文件,那么您也可以使用变更列表语法。例如,如果要将给定目录中的所有内容回滚到changelist 123,可以执行以下操作:

p4 sync //depot/some/path/*@123
p4 edit //depot/some/path/*
p4 sync //depot/some/path/*
p4 resolve -ay //depot/some/path/*
p4 submit

这将适用于任何版本修改器。有关指定所需版本的替代方法,请参阅p4帮助修订版。

回滚功能专门为此而设计。它会返回到某个日期/时间或更改列表,并恢复您所给窗口中的所有更改

只需在有问题的文件上单击鼠标右键,然后选择“回滚”。它会把这个箱子搬上来。不知道如何从命令行执行…我会看看我是否能弄明白并添加这些信息


revert在Mercurial中的意思相同。但是,您可以将单个或多组文件恢复为任何特定版本。除非我遗漏了什么,否则它在performe中就不那么简单了。我对Mercurial不太熟悉,但从我的谷歌搜索来看,听起来是的——你是对的,至少在句法上,它没有那么简单。我对我的答案进行了编辑,以便更清楚一点。