멍발자의 개발

SVN 사용법 본문

코딩테스트/고뇌의 순간들

SVN 사용법

개발하는 멍발자 2022. 11. 4. 09:51

입사한 회사에서 SVN을 써서 사용하는 방법을 알아보려고 한다.

 

SVN = Subversion의 약자

- 버전 관리 시스템의 한 종류고 서버 + 클라이언트 모델을 따른다.

 

Subversion 클라이언트

- Command Line으로도 조작이 가능하다.

- Tortoise SVN : 많이 사용하는 클라이언트 (우리 회사에서 아마 이걸 쓰는듯 하다.)

 

이클립스 마켓 플레이스에서 SVN 검색해서 설치

 

용어 정리

 

Repository

- 파일이 저장되는 원격 저장소

 

Revision

- Merge등의 기준이 될 수 있다.

- 가장 최근의 revision은 HEAD Revision이다.

- 저장소 내 변경이 발생하면 증가

- 0부터 1씩 증가한다.

 

Working Copy

- 로컬 PC에 있는 보사본, Repository에서 Checkout을 통해 내려받은 것이다.

 

Checkout

- Repository(원격 저장소)의 파일을 로컬 저장소(Working Copy)로 내려받는다.

 

Add

- Local 파일을 SVN이 관리하는 파일로 등록한다.

 

Update

- Repository와 비교하여 최신 버전의 상태로 갱신한다.

- 서브버전에서 Merge를 할 수 없으면 Conflict 상태가 된다.

 

Commit

- Local 파일의 변경을 Repository에 저장한다.

- 작업이 완료되면 Revision이 증가한다.

 

Trunk

- 운영중인 안정화된 버전의 소스가 보관되는 디렉토리

 

Branches

- 신규 기능 개발, 부가적인 작업, 실험 작업을 위한 소스가 저장되는 디렉토리

- 작업이 완료되면 Trunk 디렉토리로 병합

 

Tags

- 특정 시점의 소스를 보관하기 위해 사용하는 디렉토리

 

Synchronize with Repository

- commit이나 update 전에 항상 해주는 습관

- 로컬소스와 서버소스의 동기화

 

Override and Commit

- 충돌(conflict) 무시, 로컬 소스를 서버에 덮기

 

Override and Update

- 충돌(conflict) 무시, 서버 소스를 로컬에 덮기

 

Show history

- commit 이력 확인 가능(수정한 사람, 일자, 변경된 소스)

 

Compare with each ohter

- 소스끼리 비교해서 바뀐 점 확인하기

 

get content

- 해당 소스를 로컬에 덮어씌움

Comments