代码之家  ›  专栏  ›  技术社区  ›  seouoia

在Perforce中进行签出覆盖后,如何恢复本地文件?

  •  0
  • seouoia  · 技术社区  · 2 年前

    我的本地工作区已被修改。 在“提交”之前,我单击“签出”,导致我的本地文件被服务器覆盖。 如何恢复我的本地文件?

    我在网上搜索了很长时间。但没有用。请帮助或尝试给出一些如何实现这一目标的想法。

    我在windows系统中使用性能。 我使用VS2010 IDE和QtCreate。

    我尝试从VS2010 IDE恢复,但找不到。 我设法找到当地的历史,但没有找到。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Samwise    2 年前

    在P4V中执行“检出”( p4 edit )本身不会覆盖您的本地文件。如果您修改了本地文件并将其签出,则本地更改仍在您的工作区中,如果您在挂起的更改列表中“区分”已签出的文件,则应该可以看到这些更改。

    进行“获取最新信息”( p4 sync )不 默认情况下 覆盖本地文件;默认行为是,如果本地文件已被修改,则跳过更新文件(并发出警告)。此行为由以下任一项覆盖:

    • 这个 -f sync命令上的(“force”)标志
    • 这个 noclobber 客户端工作区中的选项

    使用打开文件后 p4编辑 (或其他), p4同步 从不 覆盖它们(即使使用“force”标志)。只有以下命令会覆盖打开的文件:

    • p4 revert (其 只有 目的是丢弃您的本地更改,所以只有当您非常确定要丢弃未提交的工作时,才运行此操作)
    • p4 resolve (并且只有当您明确接受“他们的”,即仓库文件的整体,而不是将其与您的更改合并时)

    尚未提交或搁置的本地更改不会在Perforce中的任何位置进行备份,这就是Perforce试图保护这些文件不被意外覆盖的原因。如果你进行了强制同步并破坏了你的本地更改,那么就没有任何方法可以恢复它们,至少就Perforce而言是这样;最好的选择是在IDE中进行自动备份。否则,您将需要重做您的更改。

    推荐文章