소프트웨어 형상 관리 ( SCM )

<aside> 💡 Software Configuration Management Tools

</aside>

소프트웨어를 개발에는 많은 자료들이 작성된다. 소스 코드, 문서, 버그 리포트 등 다양한 결과물이 기록으로 남는다. 이 기록들은 일시적이지 않고 계속 변경된다. 특히, 가장 중요한 소스코드는 한 사람이 아니라 여러사람이 변경할 경우 코드의 일관성이 깨진다. 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것이 SCM이다.

SCM의 요소에는 여러가지가 있다. 그 중 하나가 VCS이다.

VCS ( Version Control System )

소프트웨어 개발 시, 산출되는 문서의 변경사항에 Version 이라는 표지를 붙여 변경이력을 관리하는 시스템이다. 버전으로 관리하기 때문에 버전 관리 시스템이라고 불린다.

버전 관리 시스템은 모든 변경이력을 저장하므로 과거부터 현재까지 모든 변경이력을 볼 수 있다. VCS는 구조에 따라 2가지로 나뉜다.

CVCS ( 중앙집중식 버전 관리 시스템 )

DVCS ( 분산 버전 관리 시스템)