본문 바로가기
기초지식

형상관리 란?

by 광진구뚝배기 2022. 1. 11.

형상관리(Software Configuration Management)

 

- 변경사항을 체계적으로 추적, 통제하는 것을 말한다.

    자세히 설명하자면, 어떤 문서나 파일이 변경되었을 경우 변경된 내역을 기록해두고 나중에 이를 찾아야 할 경우에 변경 원인과 변경 사항      을 확인하는 것 이다.

 

- 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술분야의 형태로 넓히는 근간이다.

 

 

 

버전관리

 

형상관리 중에 문서, 소스코드 등 버전을 관리해주는 버전관리시스템이다.

일반적으로 우리가 알고있는 형상관리가 이 버전관리라고 생각하면 된다.

 

- 변경점 관리 : 여러 사용자들이 release한 시점을 관리

- 버전 관리 : 특정 시점에 꼬리표(Tag)를 달아 버전을 표시, 브랜치(branch)를 여러 버전을 개발 가능

- 백업&복구 : 버전 관리를 통해서 복구 또는 다른곳으로 백업을 가능케 함

- 협업 : 개별 사용자의 수정사항을 쉽게 공유

 

 

 

버전관리 툴

 

Cvs : 무료의 서버-클라이언트 형상관리 시스템

 

           - 중앙에 위치한 Repository에 파일 저장, 모든 사용자가 파일에 접근 할 수 있다.

           - 서버는 unix 계열에서 구동, 클라이언트는 다양한 os 가능.

           - checkout으로 파일 복사 commit을 통해 변경사항 저장 / 오류발생하면 롤백 X.

           - 히스토리를 보관하기 때문에 과거 이력 확인 가능

           - 상대적으로 속도가 느리다.

 

Svn : cvs의 단점을 보완. ( 커밋 실패시 롤백 기능 지원 ) 안정성은 cvs보다 좋지 않다.

           - 원자적 커밋 ( 파일단위가 아닌, change set을 커밋의 단위로 한다. )

           - 원하는 시점으로 복구 가능

           - trunk. Branches, tags의 폴더로 형상관리

 

Git : 무료의 분산형 관리 시스템

           - 로컬에 다수의 독립성 보장되는 branch 허용, 쉽게 생성,병합,삭제 가능

           - 원격 git repository push하지 않은채 여러 branch 생성 가능

           - 로컬 우선 작업 통해 svn, cvs보다 우수, 팀 개발 분산 환경 코딩에 최적화

           - 원격 repository 장애에도 문제없이 버전관리 가능.

           - 대용량 코드관리에 부적절, GUI툴이 빈약.

 

git을 많이 사용했고 이것이 마냥 좋은 줄 알았으나 차장님 말씀으론 명령어가 너무 복잡하고 어려워 그렇게까지 좋은 것은 아니라고 한다.

 

 

 

 

참고자료

 

- https://eroul-ri.tistory.com/3

- https://damduck01.com/510

 

 

 

 

반응형

'기초지식' 카테고리의 다른 글

JWT (Json Web Token) 란 ?  (0) 2023.04.23
Internet Explorer 11 지원 종료, Edge / Window11 전환 방법  (0) 2022.06.10
Socket (소켓) 이란?  (0) 2022.01.05
WEB / WAS 란?  (0) 2021.11.30
윈도우 포트 죽이기  (0) 2021.06.30

댓글