버전관리 시스템인 SVN을 사용 하면서 자주 사용하게되는 SVN 명령어들을 정리합니다. 일반적으로는 SVN을 사용하는 GUI도구를 사용하거나 IDE에 포함된 SVN 기능을 사용하여서 명령어를 직접 사용하는 경우는 많지 않지 않습니다. 그래도 명령어를 알고 있다면 유용한 경우가 있습니다.
목차
SVN 명령어와 함께 사용할 수 있는 옵션
svn <subcommand> [options] [args]
snv 명령어 사용 기본 형태입니다.
[options]에서 사용할 수 있는 항목은 아래와 같습니다.
- –username
- –password
- –no-auth-cache
- –non-interactive
- –trust-server-cert
- –config-dir
- –config-option
svn update --username=user1 --password=1234
subcommand, options를 함께 사용하는 예시 입니다. svn 명령어 실행 후 사용자 정보를 추가로 입력하지 않도록 옵션으로 사용자명 ‘user1’, 비밀번호 ‘1234’를 함께 입력하는 방법입니다.
svn add
SVN에 파일, 디렉토리 또는 심볼릭 링크를 추가합니다.
저장소에 저장되지 않기 때문에 add 후에 commit을 해야 저장소에 추가한 내용이 적용됩니다.
svn add [PATH] 사용 예 svn add foo.c svn add testdir
svn checkout (co)
repository에서 소스를 체크아웃 합니다. [PATH]를 삭제하면 [URL]의 기본 이름이 사용됩니다.
svn checkout [URL] [PATH] 사용 예 svn checkout http://svn.domain.com/repos/test test
svn cleanup
작업 복사본 락을 제거하고 완료되지 않은 작업들을 재개합니다. 작업 복사본 락 오류가 발생하면 이 명령을 실행하여 오래된 락을 제거하고 작업 복사본을 다시 사용 가능한 상태로 만듭니다.
사용 예 svn cleanup 또는 svn cleanup /var/svn/working-copy
svn commit (ci)
변경한 작업물을 저장소에 저장합니다.
--message
(-m
) 옵션을 사용하여 commit 메세지를 추가할 수 있습니다.
사용 예 svn commit -m "프로그램 수정"
svn delete (del, remove, rm)
SVN 저장소의 파일 또는 디렉터리를 삭제합니다.
svn delete 후 commit을 해야만 저장소의 파일 또는 디렉터리도 삭제됩니다.
svn delete [PATH] 사용 예 svn delete foo.c
svn relocate
SVN 저장소 주소를 변경합니다. SVN 저장소 주소가 변경된 경우 수행합니다.
svn relocate [TO-URL] 사용 예 svn relocate https://svn.domain.com/repos/trunk
svn revert
작업 파일 또는 디렉터리에 대한 변경 사항을 SVN 저장소의 내용으로 모두 되돌립니다.
svn revert [PATH] 사용 예 svn revert foo.c
svn status (stat, st)
작업 파일 또는 디렉터리의 상태를 출력합니다.
상태에 대한 구분은 아래와 같습니다.
- ‘ ‘ – 변경사항 없음
- ‘A’ – 신규 추가예정 항목.
- ‘D’ – 삭제예정 항목.
- ‘M’ – 변경된 내용이 있는 항목.
- ‘R’ – 교체된 항목입니다. 기존 항목은 삭제 되고, 같은 이름의 새 파일이 그 자리에 추가됩니다.
- ‘C’ – 변경된 항목이 저장소에서 받은 업데이트와 충돌합니다.
- ‘I’ – 저장소에 변경사항이 기록되지 않는 항목입니다. 예를 들면 SVN에 ignore 설정이 된 항목입니다.
- ‘?’ – SVN에 추가되지 않은 항목입니다.
svn status [PATH] 사용 예 svn status foo.c 또는 svn status work_dir
svn update (up)
SVN 저장소의 변경 사항을 로컬 작업 공간에 업데이트 합니다. -r 옵션을 사용하여 특정 리비전의 변경 내용으로 업데이트 할 수 있습니다.
변경 사항들은 아래 알파벳으로 구분되어 표시됩니다.
- A – 추가됨
- D – 삭제됨
- U – 업데이트됨
- C – 변경사항 충돌
- G – 병함됨(Merged)
svn update [PATH] 사용 예 svn update 또는 svn update -r30
정리
SVN을 사용하면서 자주 사용 되는 명령어들을 위주로 정리하였습니다. 이 글에 정리되지 않은 다른 명령어들은 아래 링크의 문서에서 확인 가능하니 참고하시면 됩니다.
https://svnbook.red-bean.com/en/1.7/svn.ref.html
SVN 저장소를 생성하는 방법은 리눅스 SVN 설치 및 저장소 생성 글을 참고하시면 됩니다.