2007년 12월 11일
[Gentoo] SVN - Subversion 사용하기
[Gentoo] Subversion 사용법 정리
Subversion은 버전 관리 시스템입니다.
소스 코드는 물론 바이너리 파일 등의
여러가지 형식의 파일을 관리 할 수 있습니다.
버전 관리 시스템을 이용하면 수정, 추가, 삭제등의 기록등의
모든 기록이 남으므로 변경사항을 추적하기 쉽고
잘못 수정했더라도 다시 이전 상태로 되돌리기가 쉽습니다.
CVS의 단점들을 개선한 버전 관리 시스템인 Subversion의
사용법을 간단하게 정리해 보았습니다.
Subversion 설치
Editor 설정
저장소 생성하기
trunk, branches, tags 기본 디렉토리 생성하기
import
checkout - 저장소의 소스트리를 로컬에 저장.
commit - 로컬에서 변경한 파일 내역을 저장소에 저장.
update - 로컬의 파일내역을 저장소의 최신 revision으로 업데이트.
status - 현재 상태 보기
C : 충돌. 작업본의 변경 내용과 저장소의 변경 내용이 겹친 경우.
D : 삭제. 이 상태에서 커밋하면 저장소의 파일도 삭제됨.
M : 수정. 커밋하면 수정된 내용이 반영됨
! : 유실.
log - 커밋 로그 보기
add/delete/copy/mkdir/move
diff - 변경내역 보기
dump - 저장소 백업
load - 저장소 복구
소스 코드는 물론 바이너리 파일 등의
여러가지 형식의 파일을 관리 할 수 있습니다.
버전 관리 시스템을 이용하면 수정, 추가, 삭제등의 기록등의
모든 기록이 남으므로 변경사항을 추적하기 쉽고
잘못 수정했더라도 다시 이전 상태로 되돌리기가 쉽습니다.
CVS의 단점들을 개선한 버전 관리 시스템인 Subversion의
사용법을 간단하게 정리해 보았습니다.
Subversion 설치
$ emerge subversion
Editor 설정
SVN_EDITOR=/usr/bin/vimexport SVN_EDITOR.profile 또는 .bash_profile안에 추가
저장소 생성하기
$ mkdir /home/svn/$ cd /home/svn/$ svnadmin create --fs-type fsfs dirnameor$ svnadmin create --fs-type bdb dirname
trunk, branches, tags 기본 디렉토리 생성하기
$ svn mkdir svn+ssh://user@{IP 또는 도메인}/home/svn/dirname/trunk$ svn mkdir svn+ssh://user@{IP 또는 도메인}/home/svn/dirname/branches$ svn mkdir svn+ssh://user@{IP 또는 도메인}/home/svn/dirname/tagsimport
$ mkdir tempdir$ cd tempdir$ touch temp.c$ cd ..$ svn import tempdir svn+ssh://user@{IP 또는 도메인}/home/svn/dirname/trunkcheckout - 저장소의 소스트리를 로컬에 저장.
$ svn checkout svn+ssh://user@{IP 또는 도메인}/home/svn/dirname dirname or$ svn co svn+ssh://user@{IP 또는 도메인}/home/svn/dirname dirname commit - 로컬에서 변경한 파일 내역을 저장소에 저장.
$ svn commit or $ svn ci
update - 로컬의 파일내역을 저장소의 최신 revision으로 업데이트.
$ svn update or $ svn up
status - 현재 상태 보기
$ svn status or $ svn stA : 추가. 추가되었지만 아직 커밋되지 않음.
C : 충돌. 작업본의 변경 내용과 저장소의 변경 내용이 겹친 경우.
D : 삭제. 이 상태에서 커밋하면 저장소의 파일도 삭제됨.
M : 수정. 커밋하면 수정된 내용이 반영됨
! : 유실.
log - 커밋 로그 보기
$ svn log
add/delete/copy/mkdir/move
$ svn add newfilename$ svn delete filename $ svn mv filename1 filename2$ svn copy filename1 filename2svn commit 하기 전까지는 변경내역이 저장되지 않음
diff - 변경내역 보기
$ svn diff filename
dump - 저장소 백업
$ cd /home/svn$ svnadmin dump dirname > dirname.dump
load - 저장소 복구
$ cd /home/svn$ svnadmin create newdirname
# by | 2007/12/11 20:29 | Gentoo | 트랙백 | 덧글(0)






☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]