Introduction

버전 관리Version Control는 소프트웨어 개발 과정에서 만들어지는 형상 객체의 서로 다른 버전을 관리하기 위한 절차와 도구를 합친 개념입니다. Git으로 대표되는 버전 관리 시스템은 변경 이력 추적, 빌드, 이슈 관리까지 아우르며 현대 소프트웨어 개발의 기반을 이룹니다. 이 글에서는 버전 관리의 개념과 버전 관리 시스템의 핵심 구성요소를 살펴봅니다.

Version Control

버전 관리는 소프트웨어 프로세스 중 만들어진 서로 다른 버전의 형상 객체Configuration Object를 관리하기 위한 절차와 도구를 합친 개념이다. Git이 대표적인 버전 관리 시스템 중 하나다.

그래서 버전 관리 시스템은 프로젝트 데이터베이스, 버전 관리 기능, make 시스템, 그리고 이슈 트래킹 기능을 자체적으로 구현하거나 그 기능들과 직결되어 있다.

Project Database

저장소Repository라고도 부르며, 프로젝트와 관련된 모든 형상 객체를 저장한다.

Version Management

버전 관리 시스템이니 당연히 버전을 관리할 수 있어야 한다. 이를 위해서는 형상 객체의 모든 버전을 저장하거나 과거 버전에서의 차이를 통해 어떤 버전이든 만들 수 있어야 한다.

Make Facility

이 시스템은 소프트웨어 엔지니어가 관련된 형상 객체를 전부 모아 소프트웨어의 특정 버전을 만들 수 있도록 해준다.

Issue Tracking

버그 추적Bug Tracking이라고도 불리는 이 기능은 팀이 각 형상 객체와 연결된 모든 이슈를 추적하고 기록할 수 있게 해준다.