코딩항해기
[Git] 형상관리 Configuration Management 본문
형상관리
소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로 형상관리는 단순 버전관리 기반의 소프트웨어 운용을 더 포괄적인 학술 분야의 형태로 넓히는 근간을 말한다. 즉, 변경사항을 체계적으로 추적, 통제한다는 것이다.
혼자 개발하는 경우 문서 변경과 같은 이력 조회 용도 정도로 사용되지만, 여러 사람이 함께 개발하는 경우 이에 대한 내용 확인이 필수이므로 내역 확인이 필수이다. 이 때 버전과 변경사항을 확인하고 반영 및 수정하는 과정에서 사용된다.
그 외에도 충돌 해결 용도로도 많이 사용된다.
소스 관리, 버전 관리, 빌드 구조, 개발 환경 , 문서 관리 등을 포괄적으로 부르는 말이다.
통상적으로 버전 관리, 소스 관리로 불린다.
*소프트웨어 구성 관리(SCM : Software Configuration Management)
형상관리 도구의 종류
CVS(Concurrent Version System)
1980년대에 만들어진 형상관리 도구로서 가장 오랫동안 사용되었으며 안정적이지만 파일 관리 중 롤백이 되지 않거나, 아스키코드를 지원하며 유니코드는 제한적으로 지원하고 속도가 상대적으로 느린 단점을 가지고 있다.
SVN(Subversion)
CVS의 단점을 보완하기 위해 2000년에 만들어진 형상관리 도구로 중앙관리만을 지원하는 특징을 가지고 있다. change set을 커밋단위로 하여 다른 사용자의 커밋과 엉키지 않고 롤백 기능을 지원한다. 처리속도가 CVS에 비해 상대적으로 빠르다. 하지만 잦은 커밋은 리비전 번호가 크게 증가할 수 있으며 개별 이력을 관리할 수 없는 단점을 가지고 있다.
GIT
2005년 개발된 형상관리 도구로 매우 빠른 속도를 가지고 있으며 분산형 관리 시스템을 가지고 있다. 다른 형상관리 도구에 비해 다양한 기능을 지원하며 최근 가장 대중화되어 사용되고 있다. 처음 사용 시 다른 도구에 비해 사용법을 숙지하는 데 어려움을 가질 수 있으나 로컬 관리와 중앙 관리가 모두 가능하여 장소에 구애받지 않고 협업을 가능케 한다.
버전 관리
변경점 관리 : 여러 사용자들이 release한 시점을 관리
버전 관리 : 특정 시점에 꼬리표(Tag)를 달아 버전을 표시, 브랜치(branch)를 여러 버전을 개발 가능
백업&복구 : 버전 관리를 통해서 복구 또는 다른곳으로 백업을 가능케 함
협업 : 개별 사용자의 수정사항을 쉽게 공유
참고 하면 좋은 글 : https://kurukurucoding.tistory.com/68
'git' 카테고리의 다른 글
[Git] 정적 페이지 배포 (Git Hub pages) (0) | 2025.01.06 |
---|---|
[Git] 포맷 후 재설치 한 뒤 일부 기능이 정상 구동하지 않는 문제 (0) | 2024.11.30 |
[Git] Merge된 PR (Pull Request) 취소 (0) | 2024.10.21 |
[Git] Git-Hub로 그룹 프로젝트하기 : 충돌편 (0) | 2024.09.24 |
[Git] Git-Hub로 그룹 프로젝트하기 : 팀원편 (0) | 2024.09.23 |