SVN이란??

2020-11-23

SVN이란?

  • SVN은 SubVersion의 줄임말로 형상관리/소스 관리 툴이다
  • 하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 툴

형상관리란? (Software Configuration Management)

  • 개발 및 유지보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 각종 결과물에 대해 형상을 만들고, 이들 형상에 대한 변경을 체계적으로 관리, 제어하기 위한 활동

SVN의 사용목적 정리

  • 항상 배포 가능한 제품 소스를 유지
  • 작업 내용과 변경된 소스의 연관성 유지
  • 다수의 개발자가 각자 작업한 내용을 통합하여 최신 형상을 유지 관리
  • 공통된 소스를 공유함으로써 중복개발 문제하고, 최신 형상의 모호성을 해결
  • 예전 버전의 파일 복원
  • 수정한 부분의 검증 (코드 리뷰 기능)

SVN의 용어 정리

  • Revision: 수정 후 Commit을 하면 숫자가 증가 / 저장소에 저장된 파일 버전을 의미
  • Repository: 프로젝트 파일 및 변경 정보가 저장되는 장소
  • Import: 빈 Repository에 맨 처음 파일들을 채우는 것
  • Export: 버전 관리 파일들을 뺀 순수 파일만 빼내는 것
  • Checkout: 저장소에서 최신 버전의 소스코드를 최초로 받아오는 것 / Repository에서 프로젝트 관련 파일들을 받아온다
  • Update: 로컬 저장소에 있는 파일들을 저장소의 최신 버전으로 받아 오기
  • Commit: 로컬 저장소의 변경된 내용을 서버로 전송 / Checkout한 파일의 수정사항을 갱신
  • Revert: 로컬 저장소의 내용을 이전 상태로 돌림
  • Add: 버전관리 대상으로 파일 등록
  • Shelve : 로컬 작업 내용을 잠시 백업하는것
  • Trunk: 개발 소스를 commit 했을 때 개발 소스가 모이는 곳 / 프로젝트에서 가장 중심이 되는 디렉토리, 소스와 파일 포함
  • Branch: trunk에서 분리/복사한 소스로 버전별 배포판을 만들거나 trunk와 별도로 운영환경을 위한 안정화된 소스 관리 목적으로 사용
  • Tag: 특정 시점의 상태 보존 목적으로 사용 장기적으로 1.0, 1.1 등 버전 별로 소스 코드를 따로 저장 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것
  • Merge: 내가 작업한 부분과 다른 사람이 작업한 부분을 병합 한다.

출처 : https://j2hworld.tistory.com/34