【问题标题】:How to switch to a change-list when using perforce command line (p4)使用 perforce 命令行时如何切换到更改列表 (p4)
【发布时间】:2023-03-26 23:43:01
【问题描述】:

我在我的工作区中使用p4 edit 打开了一堆文件,在对每个文件进行了一些更改之后,我决定将它们提交审核,因此我使用p4 change 对它们进行了上演,我得到了一个数字来标记更改列表。一旦我这样做了,我就无法看到工作区中所做的实际更改。这些文件已转到我的 p4 edit 之前的版本。

如何将我的工作区恢复为指向更改列表的更改?

p4 undo -c 403767
p4 undo @403767
p4 switch @403767
p4 revert -c 403767

以上方法似乎都不起作用。此外,当我执行p4 opened -u <author-name> 时,我有一个字符串,其中列出了所有列出的文件integrate change 403767 (text)

【问题讨论】:

    标签: perforce p4v perforce-client-spec


    【解决方案1】:

    integrate change 403767 表示这些文件是为integrate 打开的,因此这些文件不可能是您使用p4 edit 打开的文件。

    integrate 的文件可以通过p4 integratep4 copyp4 mergep4 undo 命令打开。

    此外,如果文件由p4 opened 列出,则其当前工作状态已在您的工作区中。如果您打开文件进行编辑,但既没有还原也没有提交,p4 opened 会说edit change 403767,您的编辑将在您的工作区中。

    我会大胆猜测您实际上是在尝试集成来自另一个分支的更改,而您会感到困惑,因为这些更改尚未出现在您的工作区中。运行:

    p4 resolve -am
    p4 resolve
    

    这可能会使事情进入您期望的状态。

    【讨论】:

    • 感谢您的回答,但 unshelve 命令不起作用。我更新了我的问题,当我执行p4 opened 时,最后有一个字符串integrate change 403767 (text)。我刚收到一条消息Change 403767 - no file(s) to unshelve.
    • 更新了答案。 opened 输出中的 integrate 也与您对所做操作的描述不一致,因此我不得不另作猜测。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    相关资源
    最近更新 更多