내용으로 건너뛰기
adminschool.net wiki
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
•
devel
•
library_cache_wait_event
develop:vcs:subversion:mytips
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 서브버젼(Subversion) 명령어 ====== ===== 목적 ===== - 개인적으로 자주 이용하는 Subversion 명령을 모아두었다. ===== 관리(Administration) ===== ==== 준비 ==== - apache2 + subversion 을 사용하는 것을 기준으로 설명합니다. - Debian 서버 기준이며, 패키지로 설치한 것입니다. - 경로와 파일은 아래와 같다고 가정한다. == == ^ Subversion URL | http://subversion.adminschool.net | ^ 기본디렉토리 | /data/vcs/svn | ^ 아파치설정 | /etc/apache2/mods-available/dav_svn.conf | ^ 계정정보 | /etc/apache2/dav_svn.passwd | ==== 사용자계정 ==== - Subversion 계정관리는 /etc/apache2/dav_svn.passwd 에서 관리한다. - **계정추가**(htpasswd 명령을 이용한다.) <code> # htpasswd /etc/apache2/dav_svn.passwd starlits </code> - **계정삭제**(vi로 /etc/apache2/dav_svn.passwd 파일을 열어 계정이 있는 라인 삭제) - **계정암호변경** - 추가와 명령이 동일하다. - 아이디가 존재하면 암호만 변경된다. <code> # htpasswd /etc/apache2/dav_svn.passwd starlits </code> ==== 프로젝트 생성 ==== - beflyt 라는 프로젝트 디렉토리를 만든다. <code> # svnadmin create /data/vcs/svn/beflyt </code> - apache2에서 사용할 수 있도록 권한을 부여한다. <code> # cd /data/vcs/svn # chown -R www-data.www-data beflyt/ </code> - 웹브라우저를 열어서 확인해 본다. <code> http://subversion.adminschool.net/svn/beflyt </code> ==== 프로젝트 삭제 ==== - /data/vcs/svn 아래의 프로젝트(예 beflyt)를 삭제하면 된다. <code> # cd /data/vcs/svn # rm -rf beflyt </code> ===== 개발(Development) ===== ==== Import Project ==== - 버젼관리할 소스 디렉토리로 이동한다. - **New Project**라는 이름으로 새로운 프로젝트를 최초 등록(Import) 시킨다. <code> # cd /path/to/projectname # svn import -m "New Project" . svn://HostName/projectname/trunk or # svn import -m "New Project" . http://HostName/svn/projectname/trunk </code> ==== Create tag, branch directory ==== - 테그(tag) 디렉토리를 생성한다. <code> # svn mkdir -m "Create tags directory" svn://HostName/projectname/tags or # svn mkdir -m "Create tags directory" http://HostName/svn/projectname/tags </code> - 브런치(branches) 디렉토리를 생성한다. <code> # svn mkdir -m "Create branches directory" svn://HostName/projectname/branches or # svn mkdir -m "Create branches directory" http://HostName/svn/projectname/branches </code> ==== Checkout Project ==== - svn 서버를 이용할 경우 <code> $ svn co svn://subversion.adminschool.net/projectname/trunk projectname </code> - http를 이용하는 경우 <code> $ svn co http://subversion.adminschool.net/svn/projectname/trunk projectname </code> - OS 계정과 다른 계정으로 가져올때 <code> $ svn --username=starlits co http://subversion.adminschool.net/svn/projectname/trunk projectname </code> ==== Update ==== - Subversion Server에 변경된 파일이 있는지 확인하고, 최신정보를 반영한다. <code> $ svn update </code> ==== commit ==== - 변경된 파일 반영하기 <code> $ svn commit </code> ==== checkout/update/commit 차이 ==== == == ^ Checkout | Repository로부터 내용을 꺼내오는 작업 (co 라고 줄여쓸 수 있다.) | ^ Commit | Checkout된 내용을 수정한 뒤에 다시 Repository로 보내는 작업 | ^ Update | Checkout 한 뒤로 다른 사람들이 commit한 내용을 추가적으로 checkout 하는 작업 | ==== add ==== - 파일/디렉토리 추가하기 <code> $ svn add {filename|directory} </code> ==== Diff ==== - 현재 revision이 5 일 경우, revision 4와 차이를 출력한다. <code> $svn diff --revision 4 sample.c Index: sample.c =================================================================== --- sample.c (revision 4) +++ sample.c (working copy) @@ -2,7 +2,8 @@ int main() { - printf("Sample Program Version 0.1\n"); + printf("Sample Program Version 0.2\n"); + printf("Hello Subversion\n"); return 0; } </code> - revision 4와 5를 비교 하고 싶으면 **''-''-revision 4:5 (-r 4:5)**로 하면 된다. \\ **''-''-revision 8:10** 도 가능하다. <code> $ svn diff --revision 4:5 sample.c Index: sample.c =================================================================== --- sample.c (revision 4) +++ sample.c (revision 5) @@ -2,7 +2,8 @@ int main() { - printf("Sample Program Version 0.1\n"); + printf("Sample Program Version 0.2\n"); + printf("Hello Subversion\n"); return 0; } </code> ==== History View ==== - 현재까지 Repository에 올라간 로그기록을 보여준다. <code> $ svn log </code> - 현재소스와 Repository의 소스상의 차이를 보여준다. <code> $ svn diff </code> - 로그기록을 ChangeLog 파일로 만들어 준다. <code> $ svn2cl </code> ==== 과거소스 가져오기 ==== - 현재 최신 소스를 받아온다. <code> $ svn co http://svn.adminschool.net/svn/beflyt/trunk beflyt </code> - 2008년 1월 1일 소스를 받아온다. <code> $ svn co -r {20080101} http://svn.adminschool.net/svn/beflyt/trunk beflyt </code> - **Revision 3** 소스를 받아온다. <code> $ svn co -r 3 http://svn.adminschool.net/svn/beflyt/trunk beflyt </code> ==== 서버와 버젼확인 ==== - SVN 서버에 로컬에 있는 파일보다 최신버젼이 있는지 확인한다. <code> svn status -u </code> ==== tags 사용법 ==== - http://blog.naver.com/joycestudy/100097622001
develop/vcs/subversion/mytips.txt
· 마지막으로 수정됨: 2016/04/28 15:06 저자
starlits
문서 도구
문서 보기
이전 판
역링크
맨 위로