삭제된 위키 복원
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
사용자가 프로비전된(프로젝트) 또는 게시된(코드) wiki를 실수로 삭제한 경우 복원할 수 있습니다. UI를 통해 위키를 삭제하는 옵션은 제공하지 않지만 사용자는 REST API를 사용하여 위키와 연결된 리포지토리를 삭제할 수 있습니다.
메모
삭제된 리포지토리는 30일 동안 휴지통에 남아 있으며, 그 후에는 영구적으로 삭제되고 복원할 수 없습니다.
필수 구성 요소
- 위키를 복원하기 위한 최소한 기본 액세스 권한입니다.
- 리포지토리를 만들 수 있는 권한과, 코드를 wiki로 게시할 수 있는 권한이 있어야 합니다. 기본적으로 이 권한은 프로젝트 관리자 그룹멤버에 대해 설정됩니다.
- 참가자 보안 그룹의 구성원인 모든 사용자는 위키 페이지를 추가하거나 편집할 수 있습니다.
관련자를 포함하여 팀 프로젝트에 액세스할 수 있는 모든 사용자는 위키를 볼 수 있습니다.
- 리포지토리 만들기 권한 코드를 위키에 게시하도록 하는 권한이 있어야 합니다. 기본적으로 이 권한은 프로젝트 관리자 그룹멤버에 대해 설정됩니다.
- 참가자 보안 그룹의 구성원인 모든 사용자는 위키 페이지를 추가하거나 편집할 수 있습니다.
관련자를 포함하여 팀 프로젝트에 액세스할 수 있는 모든 사용자는 위키를 볼 수 있습니다.
전체 위키 복원
프로젝트와 코드 모두 Wiki는 Azure DevOps의 프로젝트에 리포지토리로 저장됩니다. REST API를 사용하여 전체 wiki를 복원하려면 다음 단계를 완료합니다.
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
}
- 리포지토리에 대한 휴지통 검색합니다.
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
}
PATCH https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories/978e3886-64a8-4b6f-96da-6afc2936b04b?api-version=7.1-preview.1
{
"deleted": false
}
위키가 복원됩니다.
위키 페이지 복원
리포지토리의 URL로 이동합니다.
https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki
.메인 브랜치
wikiMain
의 기록을 검색합니다.삭제된 파일이 있는 커밋을 찾아 선택합니다.
추가 작업을 선택한 다음되돌리기 . 끌어오기 요청을 만들고 완료합니다.
위키 페이지가 복원됩니다.
CLI를 사용하여 위키 페이지 복원
명령줄 옵션을 선호하는 경우 다음 단계를 수행합니다.
- 위키를 로컬 컴퓨터에 복제합니다.
- 페이지가 삭제된 커밋을 찾아보세요.
- 해당 커밋을 체크 아웃합니다.
- 페이지를 복사하여 새 커밋을 만듭니다.
위키 페이지가 복원됩니다.
리포지토리 삭제
DELETE https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/repositories/052a83ac-af70-4194-b53f-df073e5f1786?api-version=7.1-preview.1