콘텐츠로 건너뛰기

커맨드 라인에서 사용하는 SVN 명령어 정리

Subversion
Subversion

버전관리 시스템인 SVN을 사용 하면서 자주 사용하게되는 SVN 명령어들을 정리합니다.

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을 사용하면서 자주 사용 되는 명령어들을 위주로 정리하였습니다.

요즘엔 GUI로 만들어진 SVN 클라이언트나 IDE에 통합된 SVN 기능으로 커맨드라인에서 직접 SVN 명령어를 입력하는 일은 줄어들었습니다.

그래도 간혹 커맨드라인에서 SVN과 관련된 작업을 하게될 때 이 글이 도움 되었으면 좋겠습니다.

이 글에 정리되지 않은 다른 명령어들은 아래 링크의 문서에서 확인 가능하니 참고하시면 됩니다.

https://svnbook.red-bean.com/en/1.7/svn.ref.html


댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다