How to use SVN in project

3,044 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,044
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
49
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

How to use SVN in project

  1. 1. 스터디#3<br />SVN을 이용한Branche와 Tag 관리<br />정형구<br />
  2. 2. 1. Branch / tags 관리의 필요성<br />* Branch/Tag 관리를 하지 않을 경우.<br /> - 버전관리를 위해 ‘버전별 모든 소스’를 각각 백업 해야 한다.<br />
  3. 3. 2. Branch/Tag 관리를 위한 디렉토리 구조<br />Project#1<br />branches<br />publish<br />Branches<br />프로젝트 안의 작은 프로젝트 개념.<br />개발상 분기점이 있을 경우 관리<br />test<br />mirror<br />tags<br />1.0<br />Tags<br />프로젝트 버전관리.<br />버전변화가 생기는 시점의 소스를 관리<br />1.2<br />2.0<br />trunk<br />src<br />Trunk<br />프로젝트의 중심 – 개발이 이루어지는 디렉토리.<br />소스 및 문서파일 등 이 위치<br />docs<br />
  4. 4. 2. Branch/Tag 관리 방법<br />1) Branch/Tag 관리에 사용되는 명령어<br /> - SVN 에는 Branch/Tag 관리를 위한 별도의 명령을 지원하지 않는다.<br /> - 이슈가 되는 시점의 파일을 copy명령을 통해 복사하는 방법을 이용한다.<br /> - 복사본을 남기고 싶은 상태에 해당하는 폴더로 파일을 이동한다.<br /> - 버전업 : tags, 분기점 생성 : branches<br /> Ex) 1.0 에서 1.1 로버전업이 되었을 경우 – tags/1.1 이란 폴더를 만들어 파일을 복사<br />2) Branch/Tag 관리 방법 – 쉘 명령어 이용<br />svn copy 원본위치저장될위치<br /> Ex) 2.0 버전을 발표할 때, 발표시점의 소스를 남기고 싶은 경우<br /> - svn copy svn://203.236.230.36/trunk svn://203.236.230.36/tags/2.0<br /> Ex) 현재 개발중인 소스를 test 라는 이름으로 따로 관리하고 싶을 경우.<br /> - svn copy svn://203.236.230.36/trunk svn://203.236.230.36/branches/test<br />
  5. 5. 2. Branch/Tag 관리 방법<br />3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용<br />1. 소스폴더(SVN과 연동된) 에서 마우스 오른쪽클릭.<br />2. TortoiseSVN -> branch/tag 를 선택<br />
  6. 6. 2. Branch/Tag 관리 방법<br />3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용<br />3. 저장될 경로를 입력.<br /> - 버전업 일 경우 : tags<br /> - 소스 분기 일 경우 : branches<br />4. 현재 작업에 대한 메시지를 입력.<br /> - 이력 관리를 위해 가급적이면 자세하게 남긴다<br /> Ex) 2.0 발표시점의 소스<br />5. OK 를 클릭하면 작업이 진행된다<br />
  7. 7. 3. 원하는 Branch/Tag 소스를 내려 받는 방법<br />Branch/Tag 관리 방법 – 쉘 명령어 이용<br />svn export 원본위치저장될위치<br /> Ex) 2.0 버전으로 tagging 된 소스를 /data/2.0 으로 복사하고 싶을 때<br /> - svn export svn://203.236.230.36/tags/2.0 /data/2.0<br /> Ex) test 라는 이름으로 생성된 소스를 /data/test 로 복사하고 싶을 때<br /> - svn copy svn://203.236.230.36/branches/test data/test<br />
  8. 8. 3. 원하는 Branch/Tag 소스를 내려 받는 방법<br />3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용<br />1. 소스를 저장할 폴더에서 우클릭<br />2. TortoiseSVN -> Export 를 선택<br />*** SVN 과 연동된 폴더에서는 Export 를 하면 안됨.<br /> - SVN 연동 폴더에서 Export 할 경우 현재 연결된 SVN 소스를 그대로 내려 받음.<br /> (원하는 소스를 선택 할 수 없음.)<br />
  9. 9. 3. 원하는 Branch/Tag 소스를 내려 받는 방법<br />3) Branch/Tag 관리 방법 - GUI 툴(Tortois SVN)을 이용<br />3. 원하는 저장소를 선택.<br /> Ex) ver2.0 의 소스 - svn://……/tags/2.0<br />4. 저장될 위치를 선택<br />5. OK 를 클릭하면 작업이 진행된다<br />
  10. 10. 4. SVN 을 이용시 지켜야 할 룰<br />1. Commit 을 할 때 반드시 코멘트를 남긴다.<br /> - 수정된 파일 등의 정보를 남겨 변경이력 추적이 용이하도록 한다.<br /> - 에러가 발생 할 경우, 언제 어떤 파일이 수정되어 에러가 생긴 것인지 파악하기 쉽다.<br />2. 출근 후 Update, 퇴근 전 Commit 을 반드시 하도록 한다.<br /> - 작업자들간에 동일한 Revision 을 유지하기 위해, Update, Commit 을 습관적으로 한다.<br />3. Tag 는 버전업이 되는 시점에서, Branch 는 두가지 이상의 버전 비교가 필요할 때 생성한다.<br /> - 이외의 경우는 반드시코멘트를 남겨 다른 작업자가 알아보기 쉽도록 한다.<br />
  11. 11. 5. 맺음말<br />SVN용 웹 인터페이스가 있음.<br /> - 적용여부를 고려해 볼 필요가 있음.<br />참고 URL<br /> - 피라시스닷컴: http://www.pyrasis.com/main/Subversion-HOWTO#s-5.14.1.1<br /> - KLDP Wiki : http://wiki.kldp.org/wiki.php/SubversionBook<br />

×