매뉴얼

테스트 드라이브 시작

이 섹션에서는 작은 테스트 저장소에서 가장 일반적으로 사용되는 기능 중 일부를 시도하는 방법을 보여줍니다. 물론 모든 것을 설명하지는 않습니다. 이것은 단지 빠른 시작 가이드일 뿐입니다. 일단 시작하고 실행되면, 이 사용자 가이드의 나머지 부분을 읽는 데 시간을 할애해야 합니다. 이 가이드는 훨씬 더 자세히 설명합니다. 또한 적절한 Subversion 서버를 설정하는 방법에 대해서도 더 자세히 설명합니다.

저장소 생성

실제 프로젝트의 경우 안전한 곳에 저장소가 설정되어 있고 이를 제어할 Subversion 서버가 있을 것입니다. 이 자습서에서는 하드 드라이브에 생성된 저장소에 서버 없이 직접 액세스할 수 있는 Subversion의 로컬 저장소 기능을 사용할 것입니다.

먼저 PC에 새 빈 디렉터리를 만듭니다. 아무데나 만들 수 있지만, 이 자습서에서는 C:\svn_repos라고 부르겠습니다. 이제 새 폴더를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 TortoiseSVN여기에 저장소 생성...을 선택합니다. 그러면 폴더 안에 저장소가 생성되어 사용할 준비가 됩니다. 또한 폴더 구조 생성 버튼을 클릭하여 기본 내부 폴더 구조를 생성할 것입니다.

중요

로컬 저장소 기능은 테스트 및 평가에 매우 유용하지만, 한 대의 PC에서 단독 개발자로 작업하는 경우가 아니라면 항상 적절한 Subversion 서버를 사용해야 합니다. 소규모 회사에서는 서버 설정 작업을 피하고 네트워크 공유를 통해 저장소에 액세스하려고 할 수 있습니다. 절대로 그렇게 하지 마십시오. 데이터를 잃게 될 것입니다. 이것이 왜 나쁜 생각인지, 그리고 서버를 설정하는 방법을 알아보려면 “네트워크 공유에서 저장소 액세스” 섹션을 읽어보십시오.

프로젝트 가져오기

이제 저장소가 있지만, 현재는 완전히 비어 있습니다. C:\Projects\Widget1에 추가하고 싶은 파일 세트가 있다고 가정해 보겠습니다. 탐색기에서 Widget1 폴더로 이동하여 마우스 오른쪽 버튼으로 클릭합니다. 이제 TortoiseSVN가져오기...를 선택하면 대화 상자가 나타납니다.

그림 1.2. 가져오기 대화 상자

The Import dialog


Subversion 저장소는 URL로 참조되며, 이를 통해 인터넷 어디든 저장소를 지정할 수 있습니다. 이 경우 file:///c:/svn_repos/trunk URL을 가진 자체 로컬 저장소를 가리켜야 하며, 여기에 자체 프로젝트 이름인 Widget1을 추가합니다. file: 뒤에 슬래시가 3개 있고, 전체적으로 역슬래시가 아닌 슬래시가 사용된다는 점에 유의하십시오.

이 대화 상자의 또 다른 중요한 기능은 가져오기 메시지 상자로, 수행 중인 작업을 설명하는 메시지를 입력할 수 있습니다. 나중에 프로젝트 히스토리를 살펴보면, 이 커밋 메시지들은 어떤 변경 사항이 만들어졌고 그 이유는 무엇인지에 대한 귀중한 지침이 됩니다. 이 경우 Widget1 프로젝트 가져오기와 같이 간단하게 말할 수 있습니다. 확인을 클릭하면 폴더가 저장소에 추가됩니다.

작업 사본 체크아웃

이제 저장소에 프로젝트가 있으므로, 일상적인 작업을 위해 사용할 작업 사본을 만들어야 합니다. 폴더를 가져오는 행위가 자동으로 해당 폴더를 작업 사본으로 바꾸는 것은 아닙니다. 새 작업 사본을 만드는 Subversion 용어는 체크아웃입니다. 우리는 저장소의 Widget1 폴더를 PC의 C:\Projects\Widget1-Dev라는 개발 폴더로 체크아웃할 것입니다. 해당 폴더를 생성한 다음, 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN체크아웃...을 선택합니다. 그런 다음 체크아웃할 URL을 입력합니다. 이 경우 file:///c:/svn_repos/trunk/Widget1을 입력하고 확인을 클릭합니다. 그러면 개발 폴더에 저장소의 파일이 채워집니다.

중요

기본 설정에서 체크아웃 메뉴 항목은 TortoiseSVN 하위 메뉴에 있지 않고, 탐색기 메뉴의 상단에 표시됩니다. 하위 메뉴에 없는 TortoiseSVN 명령에는 SVN이 앞에 붙습니다: SVN 체크아웃...

이 폴더의 모양이 원래 폴더와 다르다는 것을 알 수 있을 것입니다. 모든 파일의 왼쪽 하단 모서리에는 녹색 확인 표시가 있습니다. 이는 TortoiseSVN의 상태 아이콘으로, 작업 사본에만 존재합니다. 녹색 상태는 파일이 저장소의 버전과 비교하여 변경되지 않았음을 나타냅니다.

변경 사항 만들기

이제 작업을 시작할 시간입니다. Widget1-Dev 폴더에서 파일을 편집하기 시작합니다. 예를 들어, Widget1.cReadMe.txt를 변경했다고 가정해 봅시다. 이 파일들의 아이콘 오버레이가 이제 빨간색으로 바뀌어 로컬에서 변경 사항이 생겼음을 나타냅니다.

하지만 변경 사항은 무엇일까요? 변경된 파일 중 하나를 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN비교(Diff)를 선택합니다. TortoiseSVN의 파일 비교 도구가 시작되어 정확히 어떤 줄이 변경되었는지 보여줍니다.

그림 1.3. 파일 차이점 뷰어

File Difference Viewer


자, 변경 사항이 마음에 드니 저장소를 업데이트해 봅시다. 이 작업은 변경 사항을 커밋하는 것이라고 합니다. Widget1-Dev 폴더를 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN커밋을 선택합니다. 커밋 대화 상자에는 변경된 파일 목록이 체크박스와 함께 표시됩니다. 해당 파일 중 일부만 선택할 수도 있지만, 이 경우에는 두 파일의 변경 사항을 모두 커밋할 것입니다. 변경 사항에 대한 메시지를 입력하고 확인을 클릭합니다. 진행률 대화 상자에는 파일이 저장소에 업로드되는 과정이 표시되며, 작업이 완료됩니다.

파일 추가

프로젝트가 진행됨에 따라 새 파일을 추가해야 할 것입니다. 예를 들어, Extras.c에 새로운 기능을 추가하고 기존 Makefile에 참조를 추가했다고 가정해 봅시다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN추가를 선택합니다. 추가 대화 상자에는 이제 모든 버전 관리되지 않은 파일이 표시되며, 추가하려는 파일을 선택할 수 있습니다. 파일을 추가하는 또 다른 방법은 파일 자체를 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN추가를 선택하는 것입니다.

이제 폴더를 커밋하러 가면 새 파일은 추가됨으로 표시되고 기존 파일은 수정됨으로 표시됩니다. 수정된 파일을 두 번 클릭하여 정확히 어떤 변경 사항이 있었는지 확인할 수 있습니다.

프로젝트 히스토리 보기

TortoiseSVN의 가장 유용한 기능 중 하나는 로그 대화 상자입니다. 이 대화 상자는 파일 또는 폴더에 대해 수행한 모든 커밋 목록과 입력한 상세 커밋 메시지를 보여줍니다(제시된 대로 커밋 메시지를 입력하셨나요? 그렇지 않다면, 이제 이것이 왜 중요한지 알게 될 것입니다).

그림 1.4. 로그 대화 상자

The Log Dialog


음, 여기서 약간 속임수를 써서 TortoiseSVN 저장소의 스크린샷을 사용했습니다.

상단 창에는 커밋 메시지의 시작 부분과 함께 커밋된 리비전 목록이 표시됩니다. 이 리비전 중 하나를 선택하면 중간 창에 해당 리비전에 대한 전체 로그 메시지가 표시되고, 하단 창에는 변경된 파일 및 폴더 목록이 표시됩니다.

각 창에는 정보를 사용하는 훨씬 더 많은 방법을 제공하는 상황에 맞는 메뉴가 있습니다. 하단 창에서는 파일을 두 번 클릭하여 해당 리비전에서 정확히 어떤 변경 사항이 있었는지 확인할 수 있습니다. 전체 내용은 “리비전 로그 대화 상자” 섹션을 읽어보십시오.

변경 취소

모든 리비전 제어 시스템의 한 가지 기능은 이전에 수행한 변경 사항을 되돌릴 수 있다는 것입니다. 예상대로 TortoiseSVN은 이를 쉽게 액세스할 수 있도록 합니다.

아직 커밋하지 않은 변경 사항을 제거하고 파일을 편집하기 전 상태로 되돌리고 싶다면 TortoiseSVN되돌리기(Revert)가 도움이 됩니다. 이 기능은 변경 사항을 (혹시 모를 경우를 대비해 휴지통으로) 버리고 처음에 시작했던 커밋된 버전으로 되돌립니다. 변경 사항 중 일부만 제거하고 싶다면 TortoiseMerge를 사용하여 차이점을 확인하고 변경된 줄을 선택적으로 되돌릴 수 있습니다.

특정 리비전의 영향을 되돌리고 싶다면, 로그 대화 상자에서 시작하여 문제가 되는 리비전을 찾으십시오. 상황에 맞는 메뉴이 리비전의 변경 사항 되돌리기를 선택하면 해당 변경 사항이 취소됩니다.

TortoiseSVN 홈페이지

한국어 中文