본문 바로가기

Programming

svn 명령어 모음

원본 : http://blog.naver.com/binoz?Redirect=Log&logNo=40039908311


 

저장소 만들기

svnadmin create [디렉토리명]

 

Import

svn import (-m) . [저장소경로]

 

체크아웃

svn  checkout  [저장소경로]  [workspace]

checkout = co

 

Workspace 정보

svn  info  [workspace]

 

커밋

svn commit (-m)

 

갱신(update)

svn  update

: 기본으로 하위 디렉토리 모두 갱신

[ A ] 저장소에 새로 추가된 파일을 Workspace로 받아옴

[ U ] 저장소에 새 버전이 체크인 되어 Workspace의 파일을 그 버전으로 갱신함 (Workspace 파일의 버전이 체크 아웃된 이후 변경되지 않아야 함)

[ D ] 저장소에서 해당파일이 삭제되어 Workspace에서도 삭제됨

[ G ] 여러 사람이 동일한 파일을 수정했더라도 서로 다른 부분을 변경했다면 서브버전이 그 변경들을 자동으로 합쳐준다. 자동으로 병합된 경우 (Workspace 파일의 버전이 체크 아웃된 이후 변경되었고, 저장소의 버전이 체크 아웃 당시의 버전보다 최신인 경우)

[ C ] [ G ]의 상황에서 같은 부분을 변경한 경우에 서브버전이 자동적으로 병합하지 못해, 충돌(Conflict)이 발생하였음, 사람이 해결해야 함

 

저장소에 추가 위해 Workspace의 항목을 지정

svn  add  [항목]

: 반영은 항상 commit 할 때

 

COPY

svn  copy  [원본항목]  [복사될 항목]

copy = cp

 

Log

svn  log  [-r옵션]  [항목]

 

MOVE = 이름 변경

svn  move  [이전항목]  [이후항목]

move = mv

 

저장소에서 삭제 위해 Workspace에서 설정

svn  delete  [항목]

 

차이 보기

svn  diff  [-r옵션]  [항목]

 

변경 제거

svn  revert  [항목]

: 체크 아웃 상태로 돌아감

 

충돌 해결

svn  resolved  [항목]

 

책임

svn  blame  [항목]

 

Merge

svn  merge  [-r옵션]  [항목]

 

상태

svn  status  (-show-updates=-u)

 

 

[-r옵션]

-rHEAD : 저장소의 가장 최신 리비전

-rBASE : 작업장의 기반 리비전, 체크아웃(or 갱신) 했을 당시의 리비전

-rCOMMITTED : BASE 또는 그 이전 리비전들 중에서 해당 항목이 마지막으로 변경된 리비전

-rPREV : COMMITTED 직전 리비전

-r [#revision]:[#revision] : 해당 리비전의 범위 지정

-r [#revision] : 해당 리비전

[출처] 8. svn 명령어|작성자 유성훈