Develop/Git

형상관리란(Software Configuration Management)?

eroul-ri 2021. 9. 22. 16:22

형상관리(Software Configuration Management)란?

 

소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것.
형상 관리는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간.
출처: 위키백과 - 형상관리

 

 

결국 형상관리는 어떠한 문서나 파일이 변경된 경우, 변경된 내용과 그 원인을 기록하였다가 나중에 필요한 경우 찾아볼 수 있도록 하여 관리하는 것을 말한다.

소프트웨어 개발에서는 단순 파일 변경내역을 관리할 뿐만 아니라 소프트웨어 개발에서 발생할 수 있는 다양한 결과물(요구사항 정의서, 설계 문서, 코드 등등)에 대해 형상을 만들고 이를 체계적으로 관리하고자 사용되고 있다.

 


 

소프트웨어 개발에서 사용하는 형상관리 도구의 종류

 

1. CVS(Concurrent Version System)

 

- 1980년대에 만들어진 형상관리 도구로서 가장 오랫동안 사용되었으며 안정적이지만 파일관리 중 롤백이 되지 않거나 아스키코드를 지원하며 유니코드는 제한적으로 지원하고 속도가 상대적으로 느린 단점을 가지고 있다.

 

2. SVN( Subversion)

 

- CVS의 단점을 보완하기위해 2000년에 만들어진 형상관리 동구로 중앙관리만을 지원하는 특징을 가지고 있다. change set을 커밋 단위로 하여 다른사용자의 커밋과 엉키지 않고 롤백 기능을 지원한다. 처리속도가 CVS에 비해 상대적으로 빠르다. 하지만 잦은 커밋은 리비전 번호가 크게 증가할 수 있으면 개별 이력을 관리할 수 없는 단점을 가지고 있다.

 

3. GIT

 

- 2005년 개발된 형상관리 도구로 매우 빠른 속도를 가지고 있으며 분산형 관리 시스템을 가지고 있다. 다른 형상관리 도구에 비해 다양한 기능을 지원하며 최근 가장 대중화되어 사용되고 있다. 처음 사용시 다른 도구에 비해 사용법을 숙지하는데 어려움을 가질 수 있으나 로컬 관리와 중앙 관리가 모두 가능하여 장소에 구애받지 않고 협업을 가능케 한다.