본문 바로가기
Programming 개발은 구글로/기타 정보

[Git] 형상관리 개념과 용어

by 40대직장인 2022. 6. 22.

형상관리(Configuration Management)

: 소프트웨어에서 형상 관리는 개발 중 발생하는 모든 산출물들이 변경됨으로써 점차 변해가는 소프트웨어 형상을 체계적으로 관리하고 유지하는 기법입니다.

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

 

소프트웨어 개발 생명주기 전반에 걸쳐 생성되는 모든 산출물의 종합 및 변경 과정을 체계적으로 관리하고 유지하는 일련의 개발 관리 활동으로, 소프트웨어 가시성과 추적 가능성을 부여하여 제품의 품질과 안전성을 높입니다.

 

형상관리 툴에는 유료와 오픈소스가 있습니다.

 

상용(유료)

1)   IBM Rational ClearCase

2)   Perforce

3)   PTC Integrity

 

비상용(오픈소스)

1)   Subversion(SVN)

2)   CVS

3)   Git

 

SVN은 중앙 집중 저장 방식인 반면, Git은 분산 저장 방식을 채택했습니다.

이러한 Git프로그램 덕분에, 프로그래머는 Git만 잘 사용한다면 프로젝트를 효과적으로 형상관리할 수 있습니다.

 

또한, 협업 환경에서의 프로젝트에서도 효과적인 커뮤니티를 위해 반드시 다룰줄 알아야 합니다. 

 

소프트웨어 개발에서 많이 사용하게 된 것은 혼자 개발하는 경우에는 문서 변경과 같은 이력 조회로써 사용할 수 있지만 여러 사람이 함께 개발하는 경우 이에 대한 내역 확인이 필수입니다. 버전을 확인하여 변경사항을 확인하고 이에 대해서 반영 및 수정하는 과정이 발생합니다.

 

혼자 개발하는 경우에는 버전의 충돌이 발생하지 않지만 똑같은 파일을 다른 사람과 공유하여 개발하고 있을 경우 이에 대한 충돌 해결로도 많이 사용됩니다.

 

형상관리를 통해 소스코드를 서로 주고 받는 것이 아닌 메인 저장소에서 필요할 때마다 받을 수 있으며, 효과적인 버전 관리로 인해 생산성이 증대됩니다. 

 

용어 설명
커밋(Commit) 작업 디렉토리에서 변경, 추가 및 삭제된 파일을 원본 저장소인 서버에 적용
중앙 저장소(Repository) 원본 소스를 저장하고 있는 저장소
작업 디렉토리(Working Copy) 원본 저장소로부터 체크아웃을 통해 내려 받은 내 로컬 PC에 있는 작업 사본 디렉토리 의미
갱신(Update) 체크아웃을  받은 작업 디렉토리를 원본 저장소의 가장 최신 커밋된 버전까지 업데이트하는 명령어
리비전(Revision) 소스 파일을 수정하여 커밋하게 되면 일정한 규칙에 의해 숫자가 증가함. 저장소에 저장된 각각의 파일 버전
되돌리기(Roll Back) 작업 디렉토리에 저장되어 있는 사본을 특정 리비전 또는 특정 시간으로 복원할 수 있도록 하는 명령어
브런치(Branch) Root프로젝트로부터 파생된 프로젝트. Branch를 생성하여 버전 관리가 가능
머지(Merge) Branch에서 진행하던 작업을 Root 프로젝트와 합침

 

 

댓글