전체적인 개념 등은 아래 사이트 참고..
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/SVN/Tutorial
아래는 가장 자주 쓰는 명령어들..
svn up
소스 업데이트 시 사용, 충돌이 일어날 경우 작업 사본을 삭제하고 해당 파일만 svn up 하기도 함
와일드카드(*, ?) 가 사용 가능함, 파일명 뿐 아니라 폴더에도 적용됨
파일명, 폴더명을 쓰지 않으면 현재 디렉토리 포함 하위 모두 업데이트 시도
ex)
$rm testfile.java
$svn up testfile.java
svn ci
소스 커밋(업로드) 시 사용.
파일명, 폴더명 등을 안쓰면 현재 디렉토리 포함 하위 모두 커밋 시도함
충돌이 일어날 경우 svn di 파일명으로 다른 곳을 찾아 머지 후 커밋.
-m 옵션을 사용하면 로그 메시지를 바로 기록할 수 있다.
ex)
$svn ci testfile.java -m "null 처리 추가"
svn di
작업 사본과 서버 원본의 다른 세부사항을 보여줌
파일명, 폴더명 등을 안쓰면 현재 디렉토리 포함 하위 모두 비교하여 출력.
개인적으로 파일 하나 정도 비교할 때 씀. 너무 많으면 보기 힘들기 때문..
ex)
$svn di testfile.java
Index: testfile.java
===================================================================
--- testfile.java (리비전 33)
+++ testfile.java (작업 사본)
@@ -10,6 +10,6 @@
private int a = -1;
- void setDefault(final int vol) {
+ void setDefault(int vol) {
-는 기존 코드, +는 변경된 코드
-10,6 은 라인, 위치
svn st
작업 사본과 서버 원본에서 변경된 내용을 보여줌.
di와 다른 점은 세부 내용이 아니라 추가/삭제/수정 정보를 알려줌
ex)
$svn st
M /DATA/Project1/testfile.java
D /DATA/Project1/res/testfile.png
A /DATA/Project1/res/test.png
? /DATA/Project1/res/test_land.png
M - 원본 소스에서 변경된 파일
D - 원본에서 삭제 대기 중인 파일(commit을 해야 삭제됨)
A - 원본에 추가 대기 중인 파일(commit을 해야 추가됨)
? - 새로 생성된 파일(원본에 없는 파일, add+commit 을 해야 추가됨)
svn add
서버 원본에 파일 등을 추가할 때 사용.
파일명, 폴더명을 쓰지 않으면 현재 디렉토리 포함 하위 모두 추가.
커밋하지 않으면 서버에는 적용되지 않음.
ex)
$svn add /DATA/Project1/*.java
$svn ci /DATA/Project1 -m "자바 소스 추가"
svn rm
서버 원본에 파일 등을 삭제할 때 사용.
파일명, 폴더명을 쓰지 않으면 현재 디렉토리 포함 하위 모두 삭제.
커밋하지 않으면 서버에는 적용되지 않음.
$svn rm /DATA/Project1/*.tmp
$svn ci /DATA/Project1 -m "임시 파일 삭제"