还原已删除的 Wiki

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

如果用户错误地删除了已预配的 wiki(项目)或已发布的 wiki(代码),你可将其还原。 我们没有通过 UI 提供用于删除 wiki 的选项,但用户可能已使用 REST API 删除与 wiki 关联的存储库。

注意

已删除的存储库在回收站中保留 30 天,之后它们会被永久删除,无法还原。

先决条件

  • 必须至少具有基本访问权限才能还原 Wiki。
  • 必须具有创建存储库的权限才能将代码发布为 wiki。 默认情况下,此权限是为项目管理员组的成员设置的。
  • 属于参与者安全组成员的任何人都可以添加或编辑 Wiki 页面。 有权访问团队项目的任何人(包括利益干系人)都可以查看 Wiki。
  • 必须具有创建存储库的权限才能将代码发布为 wiki。 默认情况下,此权限是为项目管理员组的成员设置的。
  • 属于参与者安全组成员的任何人都可以添加或编辑 Wiki 页面。 有权访问团队项目的任何人(包括利益干系人)都可以查看 Wiki。

还原完整的 Wiki

Wiki(项目和代码)作为存储库存储在 Azure DevOps 中的项目中。 完成以下步骤,使用 REST API 还原完整的 Wiki。

  1. 检索 git 存储库: 列出存储库

    使用 THE includeHidden=true 参数查看 Wiki 存储库。

GET https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/repositories?includeHidden=true&api-version=7.1-preview.1
        {
            "id": "978e3886-64a8-4b6f-96da-6afc2936b04b",
            "name": "fabrikamfiber.wiki",
            "url": https://dev.azure.com/christiechurch/052a83ac-af70-4194-b53f-df073e5f1786/_apis/git/repositories/978e3886-64a8-4b6f-96da-6afc2936b04b,
            "project": {
                "id": "052a83ac-af70-4194-b53f-df073e5f1786",
                "name": "fabrikamfiber",
                "url": https://dev.azure.com/christiechurch/_apis/projects/052a83ac-af70-4194-b53f-df073e5f1786,
                "state": "wellFormed",
                "revision": 421800049,
                "visibility": "organization",
                "lastUpdateTime": "2023-07-18T12:25:29.3Z"
            },
            "defaultBranch": "refs/heads/wikiMaster",
            "size": 193,
            "remoteUrl": https://christiechurch@dev.azure.com/christiechurch/fabrikamfiber/_git/fabrikamfiber.wiki,
            "sshUrl": git@ssh.dev.azure.com:v3/christiechurch/fabrikamfiber/fabrikamfiber.wiki,
            "webUrl": https://dev.azure.com/christiechurch/fabrikamfiber/_git/fabrikamfiber.wiki,
            "isDisabled": false,
            "isInMaintenance": false
        }
  1. 搜索存储库的回收站
GET https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories?api-version=7.1-preview.1

找到存储库(通常命名为 .wiki)时,请记下存储库 ID。

{
    "value": [
        {
            "id": "978e3886-64a8-4b6f-96da-6afc2936b04b",
            "name": "fabrikamfiber.wiki",
            "project": {
                "id": "052a83ac-af70-4194-b53f-df073e5f1786",
                "name": "fabrikamfiber",
                "url": https://dev.azure.com/christiechurch/_apis/projects/052a83ac-af70-4194-b53f-df073e5f1786,
                "state": "wellFormed",
                "revision": 421800049,
                "visibility": "organization",
                "lastUpdateTime": "2023-07-18T12:25:29.3Z"
            },
            "deletedBy": {
                "displayName": "Christie Church",
                "url": https://spsprodeus23.vssps.visualstudio.com/A1df9d653-bdfb-459b-a0c7-725052b2f944/_apis/Identities/0a0a4b55-9671-440d-87bf-26644f200d8a,
                "_links": {
                    "avatar": {
                        "href": https://dev.azure.com/christiechurch/_apis/GraphProfile/MemberAvatars/aad.MDY4MDk2OGQtYWU5OS03Y2M5LTgxZTEtNTBjMDk4ZTllZTlh
                    }
                },
                "id": "0a0a4b55-9671-440d-87bf-26644f200d8a",
                "uniqueName": christiechurch@fabrikam.com,
                "imageUrl": https://dev.azure.com/christiechurch/_api/_common/identityImage?id=0a0a4b55-9671-440d-87bf-26644f200d8a,
                "descriptor": "aad.MDY4MDk2OGQtYWU5OS03Y2M5LTgxZTEtNTBjMDk4ZTllZTlh"
            },
            "createdDate": "2023-07-18T12:23:55.64Z",
            "deletedDate": "2023-07-18T12:41:38.737Z"
        }
    ],
    "count": 1
}
  1. 从存储库回收站还原 Wiki
PATCH https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories/978e3886-64a8-4b6f-96da-6afc2936b04b?api-version=7.1-preview.1
{
    "deleted": false
}

Wiki 已还原。

还原 Wiki 页面

  1. 转到存储库的 URL: https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki

  2. 搜索主分支的历史记录。 wikiMain

  3. 查找并选择包含已删除文件的提交。

  4. 选择 “更多操作”,然后选择 “还原”。

  5. 创建并完成拉取请求。

Wiki 页面已还原。

使用 CLI 还原 Wiki 页面

如果更喜欢命令行选项,请执行以下步骤。

  1. 将 Wiki 克隆到本地计算机。
  2. 搜索已删除页面的提交。
  3. 签出提交。
  4. 复制页面以创建新提交。

Wiki 页面已还原。

删除存储库

DELETE https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/repositories/052a83ac-af70-4194-b53f-df073e5f1786?api-version=7.1-preview.1

后续步骤