Subversion에서 삭제 된 분기를 복원해야합니다.
Subversion 저장소의 작업 복사본 두 개, 트렁크 중 하나와 내가 만든 브랜치 중 하나가 있습니다.
실수로 저장소 브라우저에서 분기를 삭제했습니다. 브랜치를 복원하려면 어떻게합니까? 전체 저장소에 대한 가장 최근 커밋을 취소하는 방법이 있습니까?
사용하다:
svn cp [path to deleted branch]@[revision before delete] [new path]
예를 들면 :
svn cp svn://myrepo.com/svn/branches/2.0.5@1993 \
svn://myrepo.com/svn/branches/2.0.5_restored
1993은 삭제 전 개정판입니다.
여기 에 좋은 문서가 있습니다 ...
@
사용자 이름 에서 기호 를 이스케이프하는 방법이 있어야합니다 .
TortoiseSVN을 사용하는 경우 해결책은 다음과 같습니다.
- 저장소 브라우저에서 삭제 한 폴더의 상위 폴더 (예 : "branches")로 이동하십시오.
- 폴더를 마우스 오른쪽 버튼으로 클릭하고 "로그 표시"를 수행하십시오.
- 특정 분기 폴더를 삭제 한 개정을 찾습니다.
- 해당 개정 직전 개정을 선택하십시오.
- 마우스 오른쪽 버튼을 클릭하고 "저장소 찾아보기"를 선택합니다. 이제 분기를 삭제하기 직전 시점의 저장소 상태를보고 있습니다.
- 삭제 한 분기 폴더를 찾아 선택하고 마우스 오른쪽 단추로 클릭 한 다음 "복사 위치 ..."를 선택합니다.
- 이제 삭제 된 폴더를 새 이름 또는 동일한 이름으로 복사 할 수 있습니다.
마지막 개정판이 108이라고 가정합니다.
svn merge --revision 108:107
svn diff
svn commit -m "Reverted revision 108"
병합에 소스 URL을 추가 할 수도 있습니다.
svn merge --revision 108:107 http://svn/repo/
스택 오버플로의 다른 곳 : TortoiseSVN에서 커밋 실행 취소
이 문제가 발생했지만 위의 명령이 작동하지 않았습니다. 한 일은 훨씬 쉬웠습니다. 제거하기 전에 한 개정판에서 분기를 확인했습니다.
제거 된 개정판은 9331입니다. 9330에 체크 아웃했습니다.
svn co https://svn.acme.com/svn/giantFlySwatterTargetingSystem/branches/bug1234@9330 restored
제가 원했던 쉬운 해결책이었습니다.
이것은 나를 위해 일했습니다.
svn cp --username your_user_name https : // path_to_your_repo / branches / deleted_branch_name @ last_revision_before_deletion https : // path_to_your_repo / branches / new_name_for_branch
또는 분기를 삭제 한 단일 커밋 인 경우 :
커밋을 되 돌린 다음 커밋
svn merge -c -REV .
svn commit -m "Reverting deletion of branch XYZ"
동일한 문제가 발생하여 SmartSVN (Enterprise 6.0.2)에서 다음과 같이 해결했습니다.
- 트렁크 / HEAD에서보기 열기
- 메뉴 리포지토리 호출 / 리포지토리 브라우저에서 열기 (삭제 된 브랜치는 브랜치 폴더에 없음)
- 저장소 브라우저에서 메뉴 Repository / Show Revision ...을 호출합니다.
- 삭제 직전에 개정을 선택하십시오 (삭제 된 분기가 분기 폴더에 다시 나타납니다).
- 삭제 된 분기를 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 복사를 선택한 다음 대상에 대해 동일한 경로를 입력합니다.
참고 URL : https://stackoverflow.com/questions/1568484/need-to-restore-a-deleted-branch-in-subversion
'Program Tip' 카테고리의 다른 글
Angular에서 사용자 지정 테마 팔레트를 어떻게 사용할 수 있습니까? (0) | 2020.11.16 |
---|---|
bash의 백틱에 해당하는 cmd / powershell은 무엇입니까? (0) | 2020.11.16 |
PHPUnit으로 개인 메서드 모의 (0) | 2020.11.16 |
Emacs에 공백을 표시하려면 어떻게해야합니까? (0) | 2020.11.15 |
Path.GetTempPath ()의 반환 값을 결정하는 것은 무엇입니까? (0) | 2020.11.15 |