【问题标题】:Synchronizing an accidently deleted local SVN folder同步意外删除的本地 SVN 文件夹
【发布时间】:2010-11-19 06:39:34
【问题描述】:

我在远程服务器上有一个 SVN 存储库。我会定期使用本地开发机器的提交更新它。

我不小心删除了本地计算机(不是服务器)上存储库的子文件夹。现在我已经尝试了所有方法来从本地计算机上的存储库中获取文件夹,但由于某种原因它似乎不起作用。

作为最后的手段,我从 Repo 浏览器中检查了已删除的子文件夹。但是如果我现在从父文件夹提交,子文件夹修改的文件不包含在提交中,我需要单独提交。

谁能告诉我如何从 SVN 存储库中恢复本地机器上意外删除的文件夹??

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    我无法使用 TortoiseSVN 复制这个问题(只是因为 tortoisesvn 标签而提到这个)

    我刚刚在命令行上解决了一个类似的问题。常规的“svn update”不会把文件夹带回来,但这有效:

    rm -rf folder
    svn up folder
    

    您可能需要先确保文件夹中没有本地更改 :-)

    【讨论】:

    • 嗨,Svemir,我也很惊讶它不起作用......但是,在提交所有更改后,我确保所有其他文件夹都同步,进入父文件夹,做了一个SVN revet,然后做了一个更新。它奏效了。所以,这个问题现在已经解决了。
    【解决方案2】:

    只需执行update 操作即可。

    【讨论】:

    • 嗨 zerkms,我多次执行更新操作,但它没有恢复文件夹,之后我必须检查我提到的文件夹,在父文件夹下创建了另一个 repo。
    • @r_honey:如果没有 - 那么 repo 中就没有这样的目录。
    • @r_honey: svn dir http://repo/path/to/dir - 在这种情况下你会看到你的目录吗?
    • 我没有收到您评论的通知,或者我错过了它。我能够在 SVN Repo 浏览器中看到服务器上的目录。无论如何,这个问题现在已经解决了,根据我对下面 Svemir 的回答的评论......
    • @Aalok Parikh:它是一个答案。它回答了问题
    【解决方案3】:

    从应该包含您丢失的文件夹的文件夹中运行 svn update(或 Tortoise 中的任何等效项)。它将通过svn delete恢复所有未删除的文件。

    如果您svn deleted 文件夹,那么您必须svn revert 它。也不知道你会如何在 Tortoise 中做到这一点。

    【讨论】:

    • 您好 xr,正如在 zerkms 回复中提到的,SVN 更新没有恢复我本地计算机上的文件夹。它尚未在服务器上被删除。
    • 如果您负担得起,请尝试重命名父目录(而不是删除它,以防万一)并更新“祖父母”。这应该恢复父级及其子级,包括您丢失的项目。如果这可行,您可以删除重命名的父级。我的一些同事曾经遇到过类似的问题,并为他们解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 2013-04-22
    • 2010-11-23
    • 1970-01-01
    • 2017-12-17
    • 2022-09-28
    • 1970-01-01
    相关资源
    最近更新 更多