1 / 25

Subversion 기초 사용법

Subversion 기초 사용법. 단국대학교 MAZE 9 기 박선응. 2007 년 4 월 5 일. Email : yarmini@gmail.com Blog : http://yarmini.com. 목차. Subversion 소개 버전 관리 툴의 필요성 Subversion 구조도 저장소 (Repository) 란 Subversion 설치하기 사용하기 저장소 생성하기 (Create Repository) 프로젝트 등록하기 (Import) 소스 가져오기와 갱신 (Checkout, Update)

Download Presentation

Subversion 기초 사용법

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Subversion 기초 사용법 단국대학교 MAZE 9기박선응 2007년 4월 5일 Email : yarmini@gmail.comBlog : http://yarmini.com

  2. 목차 • Subversion 소개 • 버전 관리 툴의 필요성 • Subversion 구조도 • 저장소(Repository)란 • Subversion 설치하기 • 사용하기 • 저장소 생성하기(Create Repository) • 프로젝트 등록하기(Import) • 소스 가져오기와갱신(Checkout, Update) • 수정된 소스 적용하기(Commit) • 파일 추가, 삭제하기(Add, Delete) • 수정사항 확인하기, 되돌리기 • 프로젝트 버전에따른 백업(Tag) • 오버레이 아이콘 상태 설명 • 프로젝트 참고사항 • 개발흐름도 • 프로젝트 관리하기 • 인용및 참고 자료

  3. 1.1 버전 관리 툴의 필요성 • 필요성 • 한 개의 파일 또는 전체 프로젝트 복구 기능 • 소스 수정, 추가, 삭제 등 기록이 로그로 남음 • 충돌 없이 팀 단위의 동시 개발이 가능함(Copy-Modify-Merge 패턴) • 이전 코드와 비교하여 수정 부분을 쉽게 알 수 있음(diff) • 버전이나 일정 단위로 따로 저장하여 백업이 가능함(tag)

  4. 1.2 Subversion 구조도 • 서버와 클라이언트로 구성되며 서로간에는 네트워크나 로컬로 접근한다 • TortoiseSVN • SVNSERVE Manager

  5. 1.3 저장소(Repository)란 • Subversion의 핵심 • 프로젝트 소스와 각 종 변경사항 로그를 저장 • 각각의 클라이언트들은 하나의 저장소에 접근하여 소스를 읽거나 갱신함 • 버전관리 프로젝트 마다 하나의 저장소가 필요 • Subversion에서는 Binary파일도 저장, 관리가 가능함

  6. 1.4 Subversion 설치하기 • Server Subversion(http://www.subversion.org) • 커맨드 라인 기반의 클라이언트와 서버 프로그램 SVNSERVE Manager(http://www.pyrasis.com/.../SVNSERVEManager) • Svnserve명령어를 자동으로 실행시켜편리하게 함 • Client TortoiseSVN(http://tortoisesvn.tigris.org) • Windows 기반의 Subversion Client로서 GUI메뉴로 커맨드 명령어를 대체하여 편리함 • Etc WinMerge(http://winmerge.org) • 기본 Diff 프로그램보다 기능이 막강하여 Diff를 대체 하여 사용함

  7. 1.4 Subversion 설치하기 • SVNSERVE Manager Subversion의 고유 프로토콜인 ‘svn://’을 이용 할 수 있게 해주는 ‘Svnserve.exe’를 자동으로 실행시켜줌 • Subversion Repository Root에는 저장소의 Root(상위 폴더)를 설정해야 한다 • Subversion은 기본적으로 3690 포트를 사용한다. 또한 방화벽 예외 옵션에 추가 하여야 한다. (빈칸일 경우 기본 포트 3690을 사용)

  8. 2.1 저장소 생성하기(Create Repository) • 저장소 생성하기 (Server) • 프로젝트 폴더 생성 후 ‘현재 위치에 저장소 생성’ 클릭 • 저장소 형식을 ‘고유의 파일시스템’ 선택

  9. 2.1 저장소 생성하기(Create Repository) • 저장소 권한 설정하기(Server) • ‘.\conf\svnserve.conf’의 권한 설정 • Anon-access • 비 인증 사용자 권한 설정 • Auth-access • 인증 사용자 권한 설정 • Type • None : 접근 제한 • Read : 읽기만 허용 • Write : 읽기/쓰기 허용 • password-db • 사용자 계정, 암호를 참조할파일명 제시

  10. 2.1 저장소 생성하기(Create Repository) • 저장소 계정과암호 설정하기(Server) • ‘.\conf\passwd’에서 계정과 암호 설정 • 계정과 암호 설정 • ID = Password • (ID:yarmini, PW:maze) • 다중사용자 경우 아래에 추가

  11. 2.1 저장소 생성하기(Create Repository) • 저장소 폴더 구조(Server) • Trunk • 프로젝트의 중심이 되는 폴더 • 실제 개발 진행은 이곳에서 진행 • Branches • Trunk에서 뻗어나온 또 하나의 프로젝트로서 메인 프로젝트에서 분기하여 따로 개발을 진행 • Tags • 버전 업이나 특정 시점에서 프로젝트 전체를 복사하여 보관하는 곳

  12. 2.1 저장소 생성하기(Create Repository) • 저장소 폴더 생성 (Client) • TortoiseSVN의 저장소 브라우져를 실행하여 Server의 저장소에 접근 • SVNServer로 접근 할 경우 • svn://IP-Address/Project • Direct Directory로 접근 할 경우 • file:///Repos-path/Project • Trunk, Branches, Tags 폴더 생성

  13. 2.2 프로젝트 등록하기(Import) • 등록할 프로젝트 폴더에서 임포트(Import)를 실행한다 • 저장소의 주소를 입력하고 확인을 눌러 등록한다(->Trunk) • 기본적으로 예약되어있는 확장자만 등록하며, • 추가로 필요한 것은 후에 따로 추가한다 • 주의사항: Import한 폴더는 저장소에 등록만 하는 것이며 버전 관리는 되지 않는다.

  14. 2.3 소스 가져오기와갱신(Checkout, Update) • 소스가져오기(Checkout) • 저장소의 소스 폴더를 복사본을받고, 이에 대한 버전 관리를 시작함(->저장소와 동기화) • 원하는 리비전의 번호를 선택하여 저장되었던 기존 소스들을 받아 볼 수 있음 • 폴더 마다 ‘.svn’의 숨겨진 폴더가 생기며 이것은 버전 관리 파일들 인식과 변경사항을 저장하는 기능을 함

  15. 2.3 소스 가져오기와갱신(Checkout, Update) • 소스 갱신(Update) • 저장소의 소스폴더와 비교하여 변경된 부분을 검사하고 최신 버전으로 동기화를 맞춤 • 매번 Checkout을 할 경우에는 용량 문제로 오랜 시간이 소요 되기 때문에 Update 기능을 사용

  16. 2.4 수정된소스 적용하기(Commit) • 프로젝트의최상위 폴더에서 한다 • 소스를 변경한 후 저장소에 반영 • Commit을 하지 않으면 소스가 변경되었다 하더라도 저장소에 반영되지 않는다 • Commit할 때마다 리비전이 증가하여 변경사항이 기록이 남는다 • 더블 클릭 할 경우 기존 저장소의 내용과 비교하는 프로그램(WinMerge)이 • 실행되어 변경사항을 확인 할 수 있다.

  17. 2.5 파일 추가, 삭제하기(Add, Delete) • 저장소에 파일을 추가하여 버전 관리 목록에추가한다 • 추가 후 Commnit을 해야 저장소에 저장된다. • 삭제(Delete), 이름변경(Rename)도 • 위와 같다 • 주의사항 • TortoiseSVN의 Add, Delete, Rename을 하지 않고 임의로 추가/삭제 /변경을 하였을 경우에는 자동으로 저장소에는 반영되지 않는다.

  18. 2.6 수정사항 확인하기, 되돌리기 • 수정사항 확인하기 • 특정 파일, 폴더에서 ‘수정 사항 확인’을 실행 • 비교해볼 파일을 더블클릭

  19. 2.6 수정사항 확인하기, 되돌리기 • 수정사항 확인하기 • 자동으로저장소의 소스와 현재 베이스 소스를 비교하는 ‘WinMerge’가 실행된다.

  20. 2.6 수정사항 확인하기, 되돌리기 • 수정사항 되돌리기 • 마지막 Commit/Update를 했던 소스로 되돌린다.

  21. 2.7 프로젝트버전에 따른 백업(Tag) • 프로젝트 최상위 폴더에서 ‘브랜치/태그’를 실행 • 대상 URL‘SVN://IP-Address/Project/Tags/1.x.x’로 복사

  22. 2.8 오버레이 아이콘 상태 설명

  23. Export 저장소 생성 3.1 개발 흐름도 프로젝트 등록 Branches / Tag Checkout /Update Commit 소스 수정

  24. 3.2 프로젝트 관리하기 • 프로젝트 진행 시 유익한 툴 • Trac – Subversion과 연계된 프로젝트 관리 도구로써 버그 트랙커, 문서 관리(위키), 로드맵, 마일스톤, 등의 프로젝트 진행 시에 필요한 막강한 기능들이 있음 • Doxygen – 정해진규칙대로 주석을 작성하여 소스들을 문서화할 수 있게 함 • Wiki – 웹 상에서 여러 사용자가 정보를 기록/생산/수정이 가능

  25. 4. 인용 및 참고 자료 • Subversion 사용 HowTo – pyrasis.com • Version Control with Subversion(SVN) – PNU 최규철 • TortoiseSVN초보자 가이드 - 광운대학교K-NET 5기 조형렬 • Subversion Manual • About CVS(Concurrent Version System) – SSM17기 문병기 외 3명 • 브랜치(Branch)와 Merge - KLDP

More Related