-
* 예시는 ssh 프로토콜로 작성.
1. 원격 저장소에서 로컬 디렉토리로 프로젝트 가져오기.
svn co <url>
ex) svn co svn+ssh://username@samba-server.example.com/path/to/repo/trunk
2. 메타데이터 확인.
svn info <url>
ex) svn info svn+ssh://username@samba-server.example.com/path/to/repo/branches/example
url 없이 svn info를 입력하면 체크아웃한 곳의 메타데이터 확인.
3. 커밋 이력 확인.
svn log <url>
ex) svn log svn+ssh://username@samba-server.example.com/path/to/repo/branches/example
url 없이 svn log를 입력하면 체크아웃한 곳의 커밋 이력 확인.
4. 로컬 작업 복사본을 원격 저장소의 최신 상태로 동기화.
svn update <url>
svn update svn+ssh://username@samba-server.example.com/path/to/repo/branches/example
--force : 강제로 업데이트를 수행하며, 로컬 변경 사항과 충돌하지 않도록 시도.
url 없이 svn update를 입력하면 체크아웃한 곳의 최신 상태로 동기화.
5. 충돌 해결.
svn resolve <파일>
svn resolve src/main/example.txt
6. 버전관리에 파일 추가.
svn add <파일>
ex) svn add *
* : 모든 파일 추가.
--force : 이미 추가되었거나 무시된 항목을 강제로 추가.
7. 버전관리에 파일 삭제.
svn delete <파일>
ex) svn delete example.txt
8. 버전관리 중인 파일 이동 또는 이름 변경.
svn move <기존 파일> <이동 또는 변경 파일>
ex) svn move old_file.txt new_file.txt
9. 로컬 작업 복사본에서 변경된 내용을 원격 저장소에 반영
svn commit -m <'커밋 메시지'>
ex) svn commit -m 'first commit'
10. tags로 복사-릴리즈.
svn copy <trunk-url> <tags-url>/<tag-name> -m <'커밋 메시지'>
ex) svn copy svn+ssh://username@samba-server.example.com/path/to/repo/trunk svn+ssh://username@samba-server.example.com/path/to/repo/tags/release-1.0 -m "Create tag for release version 1.0"
11. 지정한 URL의 파일 및 디렉토리 목록 나열.
svn list <url>
ex) svn list svn+ssh://username@samba-server.example.com/path/to/repo/trunk
url 없이 svn list를 입력하면 체크아웃한 곳의 파일 및 디렉토리 목록 나열.