【问题标题】:I have accidentally deleted a page from Azure DevOps Wiki. How can I recover it?我不小心从 Azure DevOps Wiki 中删除了一个页面。我怎样才能恢复它?
【发布时间】:2020-05-31 12:28:11
【问题描述】:

我不小心从 Azure DevOps 的存储库中删除了一个 Wiki 页面。 (如何)我可以恢复它吗?

【问题讨论】:

  • 您好,我最近刚从 Microsoft 支持团队获悉,已删除的页面无法恢复,因为它是项目 wiki(与代码 wiki 不同)。

标签: azure azure-devops wiki azure-devops-wiki


【解决方案1】:

这对我们来说不是一个选项,因为我们将失去许多改变 是在最后一个版本号之后制作的。直到我不小心的那天 删除了 wiki 页面。

您可以选择Clone wiki 将wiki repo 下载到本地机器。

然后在本地使用 git 命令(git revert 或什么)来获取已删除的页面,一旦找到已删除的页面,将其发布并添加回 Wiki 页面作为新的提交。

【讨论】:

  • 还原不会恢复已删除的 wiki 页面
  • 在我的本地机器中,它确实将删除的页面带回给我。对我来说,我在最后一次提交中删除了页面,所以git revert HEAD 很容易恢复页面。如果你删除了一个非常旧的提交中的页面,你可能需要使用 git revert commitid 或其他 git 命令。
  • @Mohammad Revert 绝不是您可以做的唯一方法,请查看this。我的回答实际上是在谈论我们可以在本地下载 repo 并尽我们所能来获取已删除的页面,这样可以避免影响云上的 wiki repo ......只需根据您的场景选择合适的 git 命令,如果删除的页面是一旦提交,那么我们应该通过 git 命令获取它。
  • 很遗憾,我无法使用上述说明使其为我工作。
  • 您可以使用来自Clone wiki 的 URL 导航到它并使用 UI 来恢复您想要恢复的任何提交。看我的回答:)
【解决方案2】:

假设您正在管理一个预配置的 wiki(相对于使用已发布的代码作为 wiki):

查看右上角的垂直 3 点菜单,其中有一个查看修订的选项:

从列表中选择您想要恢复的版本(例如,删除所需 wiki 页面之前的版本)(单击其版本哈希):

从修订详情中,选择“Revert”:

此时,您的 wiki 应该处于之前的状态,并且您的 wiki 页面应该再次可用。

注意:如果您将已发布的代码用作 wiki,则可以像处理任何其他代码提交一样恢复/还原您的更改。

更多详情请见here

【讨论】:

  • 这对我们来说不是一个选项,因为我们将放弃在上一个版本号之后所做的许多更改。直到我不小心删除了 wiki 页面为止。
  • 您还可以将整个现有 wiki 导出为 repo。我无法确认它是否有修订历史记录(我会留给你自己找出来),但是......这是我知道的唯一其他选择。
【解决方案3】:

我能够做到这一点没有太多的宣传。有用的资源是this VS community topic。有一个答案提供了一个不需要您克隆存储库的解决方案。

关键的见解是,您可以导航到支持 wiki 的 Git 存储库的 Azure DevOps 存储库 UI。解决方案作者说 URL 的形状类似于https://dev.azure.com/<organization-name>/<project-name>/_git/<wiki-name>.wiki。这对我来说不太奏效,因为我们的组织中有不同的 URL 方案,但经过一些试验和错误后我能够弄明白。后来我看到您可以通过使用 wiki 中的 Clone Repo UI 来获取 URL - 它为您提供了 URL,因此您可以复制它并导航到它。

无论如何,步骤是:

  1. 找出支持 wiki 的 git repo 的 URL
  2. 导航到整个 wiki 的修订历史
    • 当前用户界面默认显示“内容”选项卡 - 切换到“历史记录”
  3. 滚动直到找到删除了要恢复的页面的提交
    • 它是在您滚动时自行填充的列表视图之一,因此很遗憾,您将无法有效地使用浏览器页面搜索
  4. 恢复提交
    • 就我而言,这需要单击它们并创建拉取请求以还原,但我能够自己合并它们而无需代码审查员。 YMMV

总而言之,不是一次完全糟糕的经历,而是完全无法发现的。

【讨论】:

    【解决方案4】:

    我找不到通过 Azure DevOps Web 界面执行此操作的方法,但如果您在本地克隆 wiki,您可以通过还原删除它的提交来恢复页面。

    1. 将 wiki 克隆到您的计算机 - 在显示 wiki 内容的左侧栏顶部的菜单中找到克隆 wiki 选项,复制 URL 并使用您常用的 git 客户端在本地克隆。
    2. 找到删除页面的提交,提交消息将以“已删除页面”开头,然后是您删除的页面的名称。
    3. 恢复页面并提交更改。有多种方法可以做到这一点 - 我恢复了提交,您可以签出提交并将页面复制出来以进行新的提交。您可能会在“.order”上遇到合并冲突,我不确定最好的办法是什么,但我保留了当前版本并且没有遇到任何问题。
    4. 将更改推送到 Azure DevOps,刷新即可看到页面已恢复。

    这甚至适用于项目 Wiki。我想知道 Azure DevOps 是否添加了启用此功能的功能,因为已经编写了其他一些答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 2021-07-20
      • 2019-10-13
      • 1970-01-01
      • 2013-08-23
      • 2017-03-30
      • 1970-01-01
      相关资源
      最近更新 更多