[개발이야기#049] 소프트웨어 버전 관리 시스템은 무엇인가?
소프트웨어 버전 관리 시스템이란 무엇일까? 안녕하세요, 가야태자 @talkit 입니다. 오늘은 간단하게 버전 관리 시스템(Version Control System, VCS) 에 대해 이야기해 보겠습니다. 버전 관리 시스템이란? 버전 관리 시스템은 말 그대로 소프트웨어의 소스 버전을 관리하는 시스템입니다. ChatGPT 에게 물어보니 아래와 같이 정의해 주더군요: 버전 관리 시스템(Version Control System, VCS) 은 파일이나 소프트웨어의 변경 이력을 추적하고 관리할 수 있는 도구 또는 시스템입니다. 주로 소스 코드의 변경을 관리하며, 협업 환경에서도 여러 사용자가 작업한 내용을 효율적으로 추적하고 통합할 수 있습니다. 이처럼 버전 관리 시스템은 현대 소프트웨어 개발에서 필수적인 도구입니다. 그렇다면, 버전 관리 시스템이 없던 시절 에는 어떻게 버전 관리를 했을까요? 버전 관리 시스템이 없던 시절 사실, 없었다기보다는 우리가 몰랐던 시절 에도 나름의 방법으로 버전 관리를 해왔습니다. 1. 폴더와 날짜로 관리 가장 간단한 방법은 날짜별로 폴더를 만들어 파일을 복사 하는 것이었습니다. 변경 전으로 복원할 일이 생기면 어제의 폴더에서 데이터를 복사해와서 수정하는 방식이었죠. 혼자 작업하는 경우에는 어느 정도 이 방식이 가능했습니다. 2. 협업 시의 버전 관리 팀 단위로 협업할 경우에는 각자 위와 같은 방식으로 파일을 관리하면서, 공통된 파일을 합치기 위해 머지 데이(Merge Day) 라는 개념을 도입했습니다. 머지 데이는 일주일에 한 번씩 모든 개발자가 자신이 작업한 내용을 공통 버전에 반영하는 날이었습니다. 물론 이 과정은 많은 수작업과 시간 이 필요했습니다. 버전 관리 시스템의 발전 버전 관리 시스템은 이러한 비효율성을 극복하기 위해 등장했습니다. 대표적인 세 가지 세대를 소개합니다: 1세대: CVS (Concurrent Versions System) CVS는 초기의 버전 관리 시스템 중 하나로, 파...
댓글