다음을 통해 공유


삭제된 위키 복원

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

사용자가 프로비전된(프로젝트) 또는 게시된(코드) wiki를 실수로 삭제한 경우 복원할 수 있습니다. UI를 통해 위키를 삭제하는 옵션은 제공하지 않지만 사용자는 REST API를 사용하여 위키와 연결된 리포지토리를 삭제할 수 있습니다.

메모

삭제된 리포지토리는 30일 동안 휴지통에 남아 있으며, 그 후에는 영구적으로 삭제되고 복원할 수 없습니다.

필수 구성 요소

  • 위키를 복원하기 위한 최소한 기본 액세스 권한입니다.
  • 리포지토리를 만들 수 있는 권한과, 코드를 wiki로 게시할 수 있는 권한이 있어야 합니다. 기본적으로 이 권한은 프로젝트 관리자 그룹멤버에 대해 설정됩니다.
  • 참가자 보안 그룹의 구성원인 모든 사용자는 위키 페이지를 추가하거나 편집할 수 있습니다. 관련자를 포함하여 팀 프로젝트에 액세스할 수 있는 모든 사용자는 위키를 볼 수 있습니다.
  • 리포지토리 만들기 권한 코드를 위키에 게시하도록 하는 권한이 있어야 합니다. 기본적으로 이 권한은 프로젝트 관리자 그룹멤버에 대해 설정됩니다.
  • 참가자 보안 그룹의 구성원인 모든 사용자는 위키 페이지를 추가하거나 편집할 수 있습니다. 관련자를 포함하여 팀 프로젝트에 액세스할 수 있는 모든 사용자는 위키를 볼 수 있습니다.

전체 위키 복원

프로젝트와 코드 모두 Wiki는 Azure DevOps의 프로젝트에 리포지토리로 저장됩니다. REST API를 사용하여 전체 wiki를 복원하려면 다음 단계를 완료합니다.

  1. git 리포지토리 검색: 리포지토리나열합니다.

    includeHidden=true 매개 변수를 사용하여 위키 리포지토리를 확인합니다.

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
}

위키가 복원됩니다.

위키 페이지 복원

  1. 리포지토리의 URL로 이동합니다. https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki.

  2. 메인 브랜치 wikiMain의 기록을 검색합니다.

  3. 삭제된 파일이 있는 커밋을 찾아 선택합니다.

  4. 추가 작업을 선택한 다음되돌리기 .

  5. 끌어오기 요청을 만들고 완료합니다.

위키 페이지가 복원됩니다.

CLI를 사용하여 위키 페이지 복원

명령줄 옵션을 선호하는 경우 다음 단계를 수행합니다.

  1. 위키를 로컬 컴퓨터에 복제합니다.
  2. 페이지가 삭제된 커밋을 찾아보세요.
  3. 해당 커밋을 체크 아웃합니다.
  4. 페이지를 복사하여 새 커밋을 만듭니다.

위키 페이지가 복원됩니다.

리포지토리 삭제

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

다음 단계