본문 바로가기
Management/SVN

[TortoiseSVN] 특정 revision으로 롤백(rollback) 후 다시 커밋(commit)하기 (ft. merge)

by 썸머워즈 2021. 10. 13.
반응형

- 특정 revision으로 복구 후 다시 서버로 커밋하기 -


svn을 사용하다보면 특정 revision으로 롤백하여 복구해야 하는 경우가 생기는데, revision으로 돌아가는 방법은 많다. 

 

update to revision, switch, ... 등 여러 방법들이 존재하는데, 혼자 svn을 사용하는거면 상관 없지만 여러 사람이 svn을 사용하게 되면 저 방법들은 로컬에서만 적용되기 때문에 svn 서버에는 적용되지 않아 update할 경우 다시 원상복구된다.

 

그래서 서버의 특정 revision의 상태로 다시 커밋을 하고 싶었으나 위 방법들로 롤백을 시킨 뒤 커밋을 눌러보면 커밋대상에 아무것도 뜨지 않는다.

 

이제 작업 내용을 롤백하고 다시 커밋하는 방법에 대해 알아보자.


우선 tortoiseSVN을 대상으로 정리하는 글이기 때문에 tortoiseSVN기반으로 설명한다.

복구하고자 하는 곳으로 가서 [마우스 우클릭]- [Merge] 를 클릭해주자.

 


그러면 아래와 같은 창이 나올텐데

 Merge a range of revisions를 선택 후 [Next]를 눌러주자


다음 화면에서 svn 경로는 자동으로 잡히니

specific range를 선택 후 [Show log] 버튼을 클릭해주자.


다음 svn log 화면에서

롤백을 원하는 버전들을 선택해주면 된다.

shift 나 ctrl 버튼을 눌러가며 여러개 선택이 가능하다.

 

각 revision에 대해서만 롤백시키는거라

아래 화면에서 1712까지 전부 롤백 시키고자 한다면 1728 ~ 1712까지 전부 선택해 주어야한다.


선택이 완료되었으면 아래와 같이 revision들이 나열될텐데

그 아래 Reverse merge를 선택한 후 [Next] 버튼을 클릭하자.


그리고 마지막 화면으로 넘어오는데

Ignore ancestry를 선택해도되고 안해도된다.

빠른 작업을 위해 선택해주는것도 좋다.

그리고 [Merge]버튼을 클릭해주자.


Merge버튼을 눌러주었다면 이제 해당 revision들이 롤백되면서 막 로그가 올라올텐데

완료가 되었다면

 

이제 [마우스 우클릭] - [commit] 을 눌러보면 방금 복구한것들을 commit할 수 있을것이다.

 

만약 작업 도중에 충돌이 나거나 그러면

revert 기능을 사용해서 다 제거해주고 충돌 원인을 해결한 뒤 본문 작업을 다시 실행해주자.

반응형


댓글

TOP