SVN 명령어

OS/리눅스 & 유닉스 2014. 11. 3. 16:25

본 문서는 위 참고자료에서 필요한 부분만 요약한 것입니다. 설치 과정과 용어는 참고 자료를 참조하세요.
동작 환경: CentOS 4.6, MS Windows XP


저장소 만들기(root)
$ mdir /home/svn; cd /home/svn
$ svnadmin create --fs-type bdb sample (버클리 DB)
또는
$ svnadmin create --fs-type fsfs sample (파일 시스템)


svnserv 설정(root)
$ svnserve -d -r /home/svn/
$ vi /home/svn/sample/conf/svnserve.conf (편집은 참고 자료 "4.3.1 svnserve에서 ID로 사용자 인증" 참조)
$ vi /home/svn/sample/conf/passwd (편집은 참고 자료 "4.3.1 svnserve에서 ID로 사용자 인증" 참조)


기본 디렉터리 만들기(root)
$ svn mkdir svn://localhost/sample/trunk
$ svn mkdir svn://localhost/sample/branches
$ svn mkdir svn://localhost/sample/tags


에디터 설정(user)
$ vi ~/.bash_profile 
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR


명령어(user)
import: 처음 저장소에 소스 저장            
$ svn import directory_root_name svn://localhost/sample/trunk
checkout(co): 소스 받기                       $ svn checkout svn://localhost/sample/trunk directory_root_name
update: 최근 내용으로 수정                      $ svn update
commit: checkout한 소스 수정 후 저장        $ svn commit
log: 저장소 변경 log 확인                          $ svn log
                                                            $ svn log -r n (n 로그 출력)
                                                            $ svn log -r n:m (n ~ m 로그 출력. 역순 가능)
                                                            $ svn log -r file_name (file_name 로그 출력)
                                                            $ svn log -v [-r n] [file_name(A(추가)/M(수정) 정보 출력)
                                                            $ svn log -v -r n file_name (A(추가)/M(수정) 정보 출력)
diff: 변경된 소스 비교                               $ svn diff
                                                            $ svn diff -r n file_name
                                                            $ svn diff -r n:m file_name
blem: 한 소스 파일에서 변경자 보기           $ svn blem file_name
                                                            $ svn blem -r n file_name
lock: 다른 사용자가 변경할 수 없도록 잠금   $ svn lock file_name
unlock: 잠금 파일 풀기                             $ svn unlock file_name
add: 파일 추가. commit 필요                     $ svn add file_name
export: 순수한 소스만 받기                   
$ svn checkout svn://localhost/sample/trunk directory_root_name


Branch 하기
Branch 만들기
$ svn checkout svn://localhost/sample/trunk directory_root_name
$ cd directory_root_name
$ svn copy trunk branches/directory_name
$ svn commit

Branch된 소스 받기
$ svn checkout svn://localhost/sample/branches directory_root_name

Branch에서 수정한 소스를 trunk에 반영
$ svn mearge -r n:m file_name (n과 m사이 차이점을 trunk에 반영)
$ svn commit
$ svn update

Tag 하기
Tag 만들기
$ svn checkout svn://localhost/sample/trunk directory_root_name
$ cd directory_root_name
$ svn copy trunk tags/0.1  (버전을 입력)
$ svn commit

소스 릴리즈
$ svn export svn://localhost/sample/tags/버전 directory_root_name


백업 및 복구
백업
$ svnadmin dump sample > sample.dump

복구
$ svnadmin create sample
$ svnadmin load sample < sample.dump



출처 - http://novrain.egloos.com/viewer/1808344

'OS > 리눅스 & 유닉스' 카테고리의 다른 글

SVN 권한 설정  (0) 2014.11.03
SVN 서버 설정  (0) 2014.11.03
방화벽 오픈/해제  (0) 2014.11.03
mail 전송의 원리  (0) 2014.09.18
큐메일  (0) 2014.09.18
: