【问题标题】:How to remove files from changelist in perforce without losing modifications?如何在不丢失修改的情况下从 perforce 的更改列表中删除文件?
【发布时间】:2011-12-16 15:12:36
【问题描述】:

我不小心创建了一个新的更改列表,其中包含来自 WORKSPACE 而不是来自 DEPOT 的文件,现在在更改列表下显示了 4500 个修改过的文件(所有 dll pdb 等以及我实际编辑的文件)

我正在使用 p4v GUI。无论如何都可以撤消此操作,而不必备份所有文件然后使用 perforce 将它们还原,将它们放回去并使用 DEPOT 创建一个新的更改列表。

非常感谢,我希望有一个解决方法:)。

【问题讨论】:

  • 呃,听起来你修改了文件而不检查它们(通过p4 edit),对吧?祝你好运。我不会在我的客户端规范中设置allwrite 选项,而是在每次需要重建它们时检查所有 DLL、PDB 等,以便在单独的更改列表中进行编辑。我讨厌试图追踪已修改但未签出进行编辑的文件。但这不是您问题的答案。

标签: perforce p4v


【解决方案1】:

不确定这是否是您要查找的内容,但要从更改列表中删除签出的文件而不删除编辑:

p4 revert -k -c changelist# //...

【讨论】:

  • 谢谢!!我使用:p4 revert -k -c default/... 消息是“文件名#none - 已添加,已放弃”
  • 正确的语法似乎是“p4 revert -k -c default //...”
  • @Cameron 在你的情况下,默认是更改列表#。
【解决方案2】:

如果您尚未提交更改列表,并且所有文件在“待处理”选项卡的更改列表中都标有“+”,您可以单击更改列表上的“还原”。只要文件被标记为添加 ('+'),它们就会在您的工作区中保持原样。

【讨论】:

    【解决方案3】:

    有多种方法。

    从菜单栏中选择 View->Pending Changelists 以查看待处理的更改列表选项卡。您应该看到按更改列表分组的所有签出文件。转到所需的更改列表并扩展为文件。

    您可以Ctrl+left-click 多个文件,然后在其中一个上right-click 并选择Move to another changelist...

    您也可以选择Submit...文件,当对话框出现时,它们将是每个文件旁边的复选框。取消选中您不想提交的文件。

    正如另一个回答者提到的,如果您不小心将文件添加到 Perforce,而您并不打算这样做,您确实可以在不实际删除它们的情况下还原这些文件(文件真正消失的唯一时间是当您执行 p4 deletep4 move。)

    【讨论】:

    • 如果更改列表中有很多文件,perforce 不会列出所有文件。它只显示文件的数量。有没有办法强制 perforce 显示所有文件?
    • @Thor,尝试右键单击更改列表,然后选择编辑更改列表。我认为这将向他们展示所有内容。我不完全确定,因为我现在没有大的更改列表。
    • @Thor 它不允许你修改文件,只显示它们
    【解决方案4】:

    如果您在 p4v 中右键单击待处理的更改列表,您应该可以选择 Revert unchanged files,这与它在锡上所说的完全一样。

    【讨论】:

      【解决方案5】:

      我遇到了类似的问题,我使用的解决方案如下: 1. 使用 p4v 导航到工作区 2.右键单击其中一个文件夹或文件,然后单击“在此处打开命令窗口” 3.运行以下命令分别查看dll或pdb p4 恢复 //....dll p4 恢复 //....pdb

      谢谢, 里昂

      【讨论】:

        猜你喜欢
        • 2017-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多