我们如何在 perforce 中检出文件的特定修订版?

How can we checkout a specific revsion of a file in perforce?

我想从命令行检出一个较旧的特定版本,我该怎么做?在 p4 文档的文档中找不到任何帮助。

单词 "checkout" 不是 Perforce 中的标准术语;如果你来自 git 那么你所说的 "checkout" 就是 "sync" (还有 "revert" 和 "switch" 因为 "git checkout" 有多糟糕重载),但 "checkout" 有时也用于引用 Perforce 中的 "opening" 文件,这有点像 git 中的 "staging" 但不完全相同。

我将描述如何 "sync" 和 "open" 一个文件,你可以找出哪个操作对应于你想要做的任何事情。


要将软件仓库中的文件同步到您的工作区,请使用p4 sync命令:

p4 sync FILE#VERSION

如果没有指定VERSION,则默认为#head(最新)。如果未指定 FILE,则同步整个工作区。

文件同步后,它在您的工作区中处于只读状态;您可以查看文件、构建、测试等,但在 打开 .

之前,文件本身可能不会被修改

打开 一个文件进行编辑(以便您可以对其进行更改,然后将这些更改提交到软件仓库),请使用p4 edit 命令:

p4 edit FILE

任何已同步到您的工作区的版本都是通过此命令打开以供编辑的版本。如果您想 submit 您的更改,您需要先 resolve 后面的更改,但您可以在解决时选择放弃这些更改。 (如果您的主要目的是放弃特定更改,您可以使用 undo 命令更直接地执行此操作。)

您可以使用 p4 have 命令查看当前同步的文件,使用 p4 opened 命令查看当前打开的文件。