버전관리

문소영·2024년 2월 26일

버전


1. 버전이란?

버전(Version)이란 특정 제품이나 시스템, 소프트웨어 등이 시간에 따라 변화하거나 개선되는 과정을 구분하기 위해 사용하는 고유의 번호나 이름을 말한다. 소프트웨어 개발에서 버전은 코드의 특정 상태를 나타내며, 버전 관리 시스템을 통해 특정 시점의 코드 상태를 저장하고 추적할 수 있다. 한 마디로 버전은 유의미한 수정이라고 할 수 있다.

  • 주 버전 : 소프트웨어의 주요 변경사이나 하위 호환성이 보장되지 않는 변경 사항을 반영할 때 주 버전 번호를 증가시킨다.
  • 부 버전: 소프트웨어에 새로운 기능이 추가 되거나, 하위 호환성이 보장되는 변경사이 있는 경우 부 번호를 증가시킨다.
  • 패치 버전: 버그 수정이나 작은 변경 사항을 반영할 때 패치 번호 수정
    **
    텍스트_버전이 ‘1.4.6’일때 주 버전은 1, 부 버전은 4, 패치 버전은 6이다. 

2. 버전 관리의 필요성

각 버전은 특정 시점의 완성본이다. 버전을 관리할 경우 파일의 변경이력을 쉽게 추적할 수 있기 때문에 누가, 언제, 어떤 변경을 했는지에 대한 확인이 용이하며 백업을 위한 용도로도 사용할 수 있다.

또한, 프로젝트를 진행할 때 기획, 구현, 테스트, 배포의 과정을 거치는데 버전 관리를 하면 버그가 생겼을 때 어떤 변경으로 인해 버그가 발생 했는지 쉽게 찾아낼 수 있다.

3.버전 관리 시스템의 종류

  • 로컬 VCS: 혼자 하던걸 소프트웨어의 도움을 받아 버전관리를 혼자하는것(협업 불가)
  • 중앙집중식 VCS: 여러 기기들 사이에 서버를 두고 서버에서 버전을 관리하는 것이다. 버전 저장을 로컬에는 하지 않고 서버에만 저장한다. 버전 관리를 하고 싶다면 서버에서 필요한 파일만 불러와서 한다. 따라서 다른 기기에서 서버에 접근을 할 수 있기 때문에 협업이 가능하다.
  • 분산 VCS: 여러 기기들 사이에 서버를 두고 서버에서 버전을 관리하는 것으로 중앙집중식 VCS와 같이 협업이가능하다. 하지만 분산 VCS에서는 파일하나만 가져오는 것이 아니라 파일들이 모여있는 폴더를 불러온다. 작은 프로젝트 외에도 큰 프로젝트에서도 용이하게 사용한다.

0개의 댓글