작성 맥락
이 글은 직접 학습하거나 구현하며 남긴 개인 기술 기록입니다. 참고 자료가 있는 경우 본문에 출처를 남기고, 틀린 부분을 발견하면 수정합니다.
제품 소프트웨어 버전 관리 🔄
출제 빈도: 하
빈출 태그: 형상 관리, 형상 관리 기능/역할, 형상 관리 도구별 특징
Git을 매일 쓰면서도 commit이 왜 commit이라 불리는지, checkout이 왜 그 이름인지 생각해본 적이 없다면, 이 개념들이 형상 관리(Configuration Management)라는 더 큰 범주에서 왔다는 걸 알아두면 도움이 된다. 형상 관리 도구는 Git 이전에도 RCS·CVS·SVN 등으로 계속 발전해왔고, 지금 익숙한 명령어 상당수가 그 계보에서 이름을 물려받았다.
1. 제품 소프트웨어 버전 등록
- 형상 관리는 곧 버전 관리를 의미합니다.
- 개발 단계별 산출물을 관리하는 기술입니다.
- 변경 사항(버전)을 체계적으로 관리합니다.
형상 관리의 중요성
- 제품 소프트웨어는 개발 통제가 중요합니다.
- 형상 관리가 미흡할 경우 발생하는 문제:
- 무절제한 변경이 발생할 수 있음
- 가시성 결핍 발생
- Insight 결여 (원인 분석에 필요한 요소를 한눈에 파악하기 어려움)
2. 형상 관리 도구
주요 기능
- check-out: 형상의 사본을 컴퓨터로 다운로드
- check-in: 수정된 소스 코드를 저장소에 업로드
- commit: 최종 승인
- update: 저장소와 컴퓨터의 형상 동기화 (수정 전 필수)
- import: 최초 소스 업로드
- export: 버전 관리 파일을 제외한 소스코드만 다운로드
Git 기준 버전 등록 절차
- 추가(Add): 파일을 저장소에 추가
- 인출(Check-out): 추가된 파일을 개발자가 인출
- 예치(Commit)
- 동기화(Update)
- 차이(Diff): 추가/변경된 파일 간 차이 확인
3. 소프트웨어 형상 관리 체계
주요 개념
- ALM (Application Lifecycle Management): 전체 라이프 사이클 관리
- ITIL (IT Infrastructure Library): IT 서비스 제공/관리 용이화
- ITSM (IT Service Management): SLA에 맞는 IT 서비스 제공
- SLA (Service Level Agreement): 협의된 서비스 수준
- EAMS: EA의 관리/활용 시스템
- EA: 기업의 IT 청사진
- PPM: 중앙 집중식 프로세스 관리
4. 형상 관리 도구 활용
사용 목적
- 관리 편의성 향상
- 생산성 개선
- 적은 비용과 인력으로 형상 관리 가능
- 주의: 미숙한 사용 시 개발 복잡도 증가 가능
사용 유의사항
- 공식적 합의 필요
- 배포 후 수정 중인 도구 사용 시 신중한 접근 필요
형상 관리 도구의 필요성
- 상시 접근 가능성 확보
- 무단 수정 방지
5. 형상 관리 도구 종류
저장소 유형별 분류
- 공유폴더: RCS, SCCS
- 클라이언트/서버: CVS, SVN
- 분산 저장소: Git, Bitkeeper
저장소 구분
- 로컬 형상관리
- 중앙 집중형
- 분산형
소스 공개 유형
- 오픈 소스 관리 도구
- 상용 형상 관리 도구
주요 형상 관리 도구 특징
- CVS:
- 서버-클라이언트 구조
- 다수 인원의 동시 접근 가능
- 범용 운영체제 지원
- SVN:
- CVS의 단점 보완
- RCS:
- 단일 사용자 수정 제한
- 다중접속 불가
- BitKeeper:
- 중앙 통제 방식 버전 관리
- Git:
- Bitkeeper 대체
- 고속 분산형 형상 관리
- 대형 프로젝트 적합
- 자유 소프트웨어
- Clear Case:
- IBM 제작
핵심 정리
- 저장소 구조는 로컬 → 중앙집중형(CVS/SVN, 서버 하나에 의존) → 분산형(Git, 모든 개발자가 저장소 전체 사본을 가짐) 순서로 발전했고, 이 흐름을 알면 왜 Git이 “서버 없이도 커밋할 수 있는지”가 자연스럽게 이해된다.
- check-out(가져오기)·check-in(올리기)·commit(확정)·update(동기화)라는 형상 관리의 공통 동사들은 Git의
clone/fetch,push,commit,pull과 거의 1:1로 대응한다 — 도구는 바뀌어도 형상 관리의 기본 동작 개념은 그대로 이어져 온 셈이다.
댓글이 보이지 않으면 GitHub에 로그인한 뒤 새로고침해 주세요. 공개 댓글은 로그인 상태에서 더 안정적으로 표시됩니다.