TortoiseSVN 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제
1. 도구개요 1.1 도구정보요약 도구명 Tortoise SVN (http://tortoisesvn.net) 라이선스 GNU GPL v2.0 소개 Subversion 를통해서소스버전관리를할수있게하는클라이언트도구 특징 Windows Explorer 에서곧바로 Subversion 를사용하여버전컨트롤가능 Importing, Branching, Merging 기능과더불어특정파일의변경로그를살펴볼수있음 주요기능 Checkout / Commit / Update / Revert Diff / Show log Import/Branch/Tag 실행환경 Windows 사전설치도구 Subversion 카테고리 형상관리최신버전 v1.8.8 (2014.10) 관련도구 Subversion, Subclipse, EasySVN 2
1. 도구개요 1.2 스크린캡쳐및주요기능 윈도우탐색기와통합되어편리한형상관리환경제공 Diff 를통한파일버전별내용비교 Checkout/Checkin/Commit/Update/Import 등 SVN 의형상관리기능제공 3
2. 설치및실행 세부목차 2.1 다운로드 2.2 설치 2.3 설치확인 4
2. 설치및실행 2.1 다운로드 http://tortoisesvn.net/downloads.html 에서사용하는 OS 에해당하는파일을다운받는다. Windows 32/64bit 에따라선택 5
2. 설치및실행 2.2 설치 (1/4) TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi 를실행한다. 설치창이나오면 Next 를클릭한다. 6
2. 설치및실행 2.2 설치 (2/4) 사용자라이선스화면에서 [I accept ] 를체크한후 Next 를클릭한다. 다음화면에서도 Next 를클릭한다. 7
2. 설치및실행 2.2 설치 (3/4) Install 을클릭하면설치가진행된다. 8
2. 설치및실행 2.2 설치 (4/4) 설치완료확인화면에서 Finish 를클릭한다. 9
2. 설치및실행 2.3 설치확인 윈도우탐색기에서마우스오른쪽버튼을클릭한다. 정상적으로설치되었다면 SVN 관련기능이표시된다. 10
3. 주요기능 세부목차 3.1 기본개념설명 3.2 Checkout 3.3 Add 3.4 Commit 3.5 Update 3.6 Delete 3.7 Diff 3.8 Show log 3.9 Revert 11
3. 주요기능 3.1 기본개념설명 SVN(Subversion) 은모든형상관리할파일들을히스토리정보를포함하여중앙의데이터베이스에서관리한다. Repository는 SVN 서버에서실행되고있는파일서버의형태이며최종적인원본데이터를관리한다. TortoiseSVN는 Repository로부터최종버전을제공받아로컬 PC에작업데이터를저장한다. 로컬 PC의작업데이터에대해수정작업을수행한후최종변경된내용을 Repository에반영한다. 12
3. 주요기능 3.2 Checkout (1/4) SVN 서버의 Repository 와로컬 PC 의폴더를연결하여형상관리환경을설정하기위해 Checkout 을수행한다. 윈도우탐색기에서마우스오른쪽버튼을클릭한다. SVN Checkout 을클릭하면 Checkout 창이열린다. 13
3. 주요기능 3.2 Checkout (2/4) URL of repository 에 SVN 서버의 Repository 주소를입력한다. Checkout directory 에 Checkout 대상이되는로컬폴더를입력한다. OK 를클릭한다. SVN 서버의 Repository 주소 Checkout 대상로컬폴더 14
3. 주요기능 3.2 Checkout (3/4) Username 에 SVN 사용자 ID 를입력한다. Password 에사용자암호를입력한다. Save authentication 을체크하고 OK 를클릭한다. 15
3. 주요기능 3.2 Checkout (4/4) Checkout 작업확인내용창이열린다. OK 를클릭한다. 탐색기에서 Checkout 대상폴더의아이콘모양이모양이바뀐것을확인한다. 16
3. 주요기능 3.3 Add (1/2) 신규로만들어진파일을 Repository 에등록하기위해 Add 를수행한다. ( 최종파일등록은 Add 후 Commit 까지해야완료됨 ) 탐색기에서마우스오른쪽버튼을클릭한다. TortoiseSVN -> Add 를클릭한다. 17
3. 주요기능 3.3 Add (2/2) 추가할파일이체크되었는지확인하고 OK 를클릭한다. Add 결과확인창이열리면확인후 OK 를클릭한다. 18
3. 주요기능 3.4 Commit (1/3) 작업데이터의추가 / 수정 / 삭제등변경사항을 Repository 에최종반영하기위해 Commit 을수행한다. 탐색기에서마우스오른쪽버튼을클릭한다. SVN Commit 을클릭한다. 19
3. 주요기능 3.4 Commit (2/3) Commit 확인창이열리면 Message 를입력한다. 변경사항을확인하고 OK 를클릭한다. 20
3. 주요기능 3.4 Commit (3/3) Commit 결과창이열리면내용을확인하고 OK 를클릭한다. Commit 결과에따라변화사항을확인한다 신규로 Add 된파일들이 Commit 되어아이콘이변화한예임 21
3. 주요기능 3.5 Update (1/2) Repository 의원본데이터를로컬 PC 로내려받기위해 Update 를수행한다. 탐색기에서마우스오른쪽버튼을클릭한다. SVN Update 를클릭한다. 22
3. 주요기능 3.5 Update (2/2) Update 결과창이열리면내용을확인하고 OK 를클릭한다. 23
3. 주요기능 3.6 Delete (1/2) 로컬 PC 및 Repository 에서파일을삭제하기위해 Delete 를수행한다. ( 최종파일삭제는 Delete 후 Commit 까지해야완료됨 ) 삭제할파일을선택하고마우스오른쪽버튼을클릭한다. TortoiseSVN -> Delete 를클릭한다. 24
3. 주요기능 3.6 Delete (2/2) 탐색기에서 delete 한파일이사라지게되고 Commit 을실행하면변경내역에 delete 항목을확인할수잇다. 25
3. 주요기능 3.7 Diff (1/4) 로컬 PC 의작업데이터와 Repository 의원본데이터의내용을비교하기위해 Diff 를수행한다. 비교할파일을선택하고마우스오른쪽버튼을클릭한다. TortoiseSVN -> Diff 를클릭한다. 26
3. 주요기능 3.7 Diff (2/4) Diff 창을통해차이점을보여준다. 왼쪽에 Repository 의원본데이터, 오른쪽에로컬 PC 의작업데이터표시 오른쪽의작업데이터는편집 / 저장이가능하다. 로컬파일에서내용이삭제된부분표시 로컬파일의내용이수정되어일치하지않는부분표시 27
3. 주요기능 3.7 Diff (3/4) 현재파일과과거파일의차이을비교하기위해 Diff with previous vsersion 을수행한다. 비교할파일을선택하고마우스오른쪽버튼을클릭한다. TortoiseSVN -> Diff with previous vsersion 을클릭한다. 28
3. 주요기능 3.7 Diff (4/4) Diff 창을통해차이점을보여준다. 왼쪽에바로직전버전의데이터, 오른쪽에현재데이터표시 오른쪽의작업데이터는편집 / 저장이가능하다. 이전리비전번호표시 차이내용표시 29
3. 주요기능 3.8 Show log (1/2) 파일에대한변경히스토리와메시지를확인하기위해 Show log 를수행한다. 파일을선택하고마우스오른쪽버튼을클릭한다. TortoiseSVN -> Show log 를클릭한다. 30
3. 주요기능 3.8 Show log (2/2) 파일에대한변경히스토리를확인하기위해 Show log 를수행한다. 해당파일의변경내역, Revision 별 Action, Message 내역등을확인할수있다. 변경히스토리내역확인 Revision 별 Message 확인 Revision 별 Action 확인 31
3. 주요기능 3.9 Revert (1/3) 작업데이터의변경된내용을반영하지않고원본데이터의내용으로돌아가기위해 Revert 를수행한다. 탐색기에서마우스오른쪽버튼을클릭하여 TortoiseSVN -> Revert 를선택한다. 32
3. 주요기능 3.9 Revert (2/3) 취소할변경내역을확인하여선택한다. OK 를클릭한다. 33
3. 주요기능 3.9 Revert (3/3) Revert 확인창에서변경취소내용을확인하고 OK 를클릭한다. 탐색기에서수정된내용이취소되어원본데이터로돌아간것을아이콘모양변화로확인할수있다. 34
4. 활용예제 세부목차 4.1 예제소개 4.2 Project 생성 4.3 Branch 생성 4.4 Branch별형상관리 35
4. 활용예제 세부목차 기존개발된 SW 에서기능이추가된신규 SW 를새로개발하는상황에서기존소스는별도로유지관리하면서신규소스를별도로개발하기위한형상관리환경을만든다. 1. Project 를생성하여기존소스의형상관리를설정한다. 2. Branch 생성하여신규소스의형상관리를설정한다. 3. Branch 별형상관리를통한소스를수정한다. 36
4. 활용예제 4.2 Project 생성 (1/8) 기존소스등록 기존소스를 SVN 서버에등록하기위해 Import Project 를수행한다. 탐색기에서기존소스가위치한폴더로이동한다. 해당폴더내에서마우스오른쪽버튼을클릭한다. TortoiseSVN -> Import 를클릭한다. 37
4. 활용예제 4.2 Project 생성 (2/8) 기존소스등록 프로젝트를생성할 Repository URL 을입력한다. Import message 를입력하고 OK 를클릭한다. SVN 서버 URL 에 /trunk/proja( 예시 ) 를추가하여 Repository URL 을입력 초기 revision 표시를위한메시지입력 38
4. 활용예제 4.2 Project 생성 (3/8) 기존소스등록 Import 완료창의 Action 내용을확인하고 OK 를클릭한다. 39
4. 활용예제 4.2 Project 생성 (4/8) 생성확인 Importing 결과확인을위해 Repo-browser 를수행한다. 탐색기에서마우스오른쪽버튼을클릭한다. TortoiseSVN -> Repo-Browser 를클릭한다. URL 입력창에서앞서생성한프로젝트의 Repository URL 을입력후 OK 를클릭한다. 40
4. 활용예제 4.2 Project 생성 (5/8) 생성확인 SVN 서버에해당 Repository 경로및파일이등록된것을확인한다. 등록된경로및파일확인 41
4. 활용예제 4.2 Project 생성 (6/8) 기존소스 Checkout 기존소스를형상관리하기위해 checkout 을수행한다. 기존소스를관리할폴더를생성한후만들어진폴더로이동한다. 마우스오른쪽버튼을클릭하여 SVN Checkout 을클릭한다. 42
4. 활용예제 4.2 Project 생성 (7/8) 기존소스 Checkout Checkout 창에서 Repository URL 을입력한다. Checkout 대상폴더를확인한후 OK 를클릭한다. 기존소스를등록한 Repository URL 입력 Checkout 대상폴더확인 43
4. 활용예제 4.2 Project 생성 (8/8) 기존소스 Checkout Checkout 결과창을확인하고 OK 를클릭한다. 탐색기에소스가생성된것을확인한다. 44
4. 활용예제 4.3 Branch 생성 (1/6) 신규코드 Branch 생성 신규소스를 SVN 서버에등록하기위해 Create Branch 를수행한다. 마우스오른쪽버튼을클릭한다. TortoiseSVN -> Branch/tag 를클릭한다. 45
4. 활용예제 4.3 Branch 생성 (2/6) 신규코드 Branch 생성 Branch 를생성할 Repository URL 을입력한다. Log message 를입력하고 OK 를클릭한다. SVN 서버 URL 에 /trunk/projb( 예시 ) 를추가하여 Repository URL 을입력 초기 revision 표시를위한메시지입력 46
4. 활용예제 4.3 Branch 생성 (3/6) 신규코드 Branch 생성 Repository Browser 를통해해당 Repository 경로및파일이등록된것을확인한다. 등록된경로및파일확인 47
4. 활용예제 4.3 Branch 생성 (4/6) 신규소스 Checkout 신규소스를형상관리하기위해 checkout 을수행한다. 신규소스를관리할폴더를생성한후만들어진폴더로이동한다. 마우스오른쪽버튼을클릭하여 SVN Checkout 을클릭한다. 48
4. 활용예제 4.3 Branch 생성 (5/6) 신규소스 Checkout Checkout 창에서 Repository URL 을입력한다. Checkout 대상폴더를확인한후 OK 를클릭한다. 기존소스를등록한 Repository URL 입력 Checkout 대상폴더확인 49
4. 활용예제 4.3 Branch 생성 (6/6) 신규소스 Checkout Checkout 결과창을확인하고 OK 를클릭한다. 탐색기에소스가생성된것을확인한다. 50
4. 활용예제 4.4 Branch 별형상관리 (1/4) - 기존소스 기존소스를관리하는폴더 (ProjectA) 에서소스를수정후 Commit 을수행한다. 51
4. 활용예제 4.4 Branch 별형상관리 (2/4) - 기존소스 Show log 를실행하여변경내역, Revision 별 Action, Message 내용을확인하면해당 Branch 내에서독립적인형상관리가수행되고있다. 52
4. 활용예제 4.4 Branch 별형상관리 (3/4) - 신규소스 신규소스를관리하는폴더 (ProjectB) 에서소스를수정후 Commit 을수행한다. 53
4. 활용예제 4.4 Branch 별형상관리 (4/4) - 신규소스 Show log 를실행하여변경내역, Revision 별 Action, Message 내용을확인하면해당 Branch 내에서독립적인형상관리가수행되고있다. 54