[svn] SVN의 단일 파일을 특정 개정으로 되돌리기

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 up -r 147 myfile.py

롤백하려면 ” 서브 버전에서 이전 버전의 코드로 돌아가는 방법 “을 참조하십시오 .


답변

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]

일단 그렇게하면 커밋 가능 상태의 파일 개정판을 갖게됩니다. 파일을 커밋하십시오.