최신 리비전으로 update 후에 하나의 파일을 수정했다면 그 파일의 상태는 M(수정)이 될 것입니다.
이 때 수정 이전의 파일 상태로 되돌리려 한다면 저장소의 파일을 다시 받기 위해 update 하면 상태가 되돌려질까요?
그렇지 않습니다. 이미 첫 update 때 동일한 리비전으로 동기화 되었기 때문에 update 를 해도 변화가 일어나지 않습니다.
이 때 revert 명령을 사용하면 작업 사본의 마지막 리비전 상태로 파일 복구가 가능합니다.
revert
usage : svn revert PATH...
작업 사본 파일을 수정 전으로 되돌립니다.
네트워크 접속이 요구되지 않고, 충돌 상태는 해결하지 않습니다.
$ svn del uc
D uc/working.jpg
D uc/index.html
D uc
$ svn revert -R uc
Reverted 'uc'
Reverted 'uc/working.jpg'
Reverted 'uc/index.html'
del 명령으로 uc 디렉토리와 하위 파일들 모두 삭제 예약 했지만, -R 옵션으로 하위 파일들까지 모두 복구 하였습니다.
$ rm test.c
$ svn st
! test.c
$ svn revert test.c
Reverted 'test.c'
$ ls test.c
test.c
$ svn st
$
svn 명령이 아닌 일반 삭제 명령으로 버전관리 작업물을 삭제하였을 경우,
상태 명령은 느낌표(!)를 반환합니다. 버전관리 하던 파일이 예고없이 없어졌기 때문입니다.
이 경우에도 revert 명령으로 되돌릴 수 있습니다.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.