SVN 저장소에 아래와 같이 이전 버전으로 되돌리고 싶은 파일이 있습니다. SVN에서 이것을 수행하는 방법은 무엇입니까? 이 특정 파일 만 전체 저장소가 아닌 이전 버전으로 다운 그레이드하고 싶습니다.
감사.
$ svn log myfile.py
----------------------
r179 | xx | 2010-05-10
Change 3
----------------------
r175 | xx | 2010-05-08
Change 2
----------------------
r174 | xx | 2010-05-04
Initial
답변
답변
svn cat도 개정 인수를 취합니다!
svn cat -r 175 mydir/myfile > mydir/myfile
답변
svn revert filename
단일 파일을 되돌려 야합니다.
답변
단일 파일의 경우 다음을 수행 할 수 있습니다.
svn export -r <REV> svn://host/path/to/file/on/repos file.ext
가능 svn revert <file>
하지만 마지막 작업 사본 만 복원합니다.
답변
지금까지 여기에있는 모든 답변에는 심각한 단점이 있거나 복잡하거나 (리포지토리 URI를 찾을 필요가 있음) 질문에 대한 요청을 수행하지 않습니다. 이전 버전의 파일 .
svn merge -r head:[revision-number-to-revert-to] [file-path]
IMO가 가장 깨끗하고 간단한 방법입니다. 삭제 된 파일을 다시 가져와도 이와 같은 방식으로 작동하지 않습니다 [1]. 다음 질문도 참조하십시오 . 파일의 이전 SVN 개정으로 되 돌리는 더 좋은 방법은 무엇입니까?
[1] 당신이 원하는 svn cp -r [rev-number] [repo-URI/file-path]@[rev-number] [repo-URI/file-path] && svn up
경우 SVN에서 삭제 된 파일을 복원하는 올바른 방법은 무엇입니까?를 참조하십시오 .
답변
가장 좋은 방법은 다음과 같습니다.
svn merge -c -RevisionToUndo ^/trunk
이렇게하면 실행 취소하지 않으려는 파일을 되 돌리는 것보다 개정의 모든 파일이 실행 취소됩니다. -
개정판의 접두사로 대시 ( )를 잊지 마십시오 .
svn revert File1 File2
이제 변경 사항을 다시 커밋하십시오.
답변
하고 싶다
svn merge -r [revision to revert from]:[revision to revert to] [path/filename]
일단 그렇게하면 커밋 가능 상태의 파일 개정판을 갖게됩니다. 파일을 커밋하십시오.