Gooday Note Scrap Source Android login
 
작성일 : 11-05-27 10:29
[Linux] SVN(Subvision) 간단히 사용하기
 글쓴이 : 기리 (123.♡.195.24)
조회 : 4,018  
   http://novrain.egloos.com/1808344 [3463]
설치 과정과 용어는 아래 링크를 참조하세요.
http://www.gooday.kr/bbs/board.php?bo_table=note&wr_id=180

동작 환경: 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


 
 

Total 121
번호 제   목 글쓴이 날짜 조회
46 [MySql] MySQL to PostgreSQL 기리 06-20 3450
45 [Test] 테스트 시나리오 템플릿 및 예제 최고관… 05-31 6865
44 [Linux] SVN(Subvision) 간단히 사용하기 기리 05-27 4019
43 [Linux] Subversion 사용법 (2) 기리 05-26 6701
42 [PHP] Ajax <--> PHP 한글 깨지는 현상 해결 기리 05-26 3662
41 [JavaScript] 영어,숫자,한글,이메일 확인 (1) 기리 05-23 2894
40 [Linux] find,rm (특정위치의 특정파일을 모두 찾아서 … 기리 05-23 2547
39 [Linux] readonly 에러로 파일 수정 안될때 기리 05-17 3654
38 [Linux] linux svn client 사용법 (1) 기리 05-16 5067
37 [Linux] 리눅스 마운트(mount) 명령어 기리 05-12 16778
36 [Linux] 리눅스 마운트강좌 mount 2편 기리 05-12 4051
35 [Linux] 리눅스 마운트강좌 mount 편 기리 05-12 4046
34 [JavaScript] Screen 객체 기리 05-09 2240
33 [Linux] Proftp 소개 (2) 기리 05-04 2388
32 [MySql] Mysql Error 기리 05-02 4099
 1  2  3  4  5  6  7  8  9