[Git] 2. 형상 관리

문정준's avatar
Mar 20, 2025
[Git] 2. 형상 관리

1. 형상 관리

  • 형상 관리 (Configuration Management) : 변경 사항을 체계적으로 추적, 통제
  • 어떤 파일, 문서가 변경되었을 경우 이를 기록하고 변경 사항 등을 확인하기 위한 관리
  • 팀 단위로 작업을 진행할 때에, 파일 또는 문서에 대한 변경점을 기록
    • 다른 사람들이 변경 사항을 알 수 있도록 하는 것이 필수
 

예시 1

  1. 팀장이 사원에게 a1 파일을 작성 요청
  1. 사원은 a1 파일을 만들어 팀장에게 전송했으나, 팀장이 수정을 요청
  1. 사원은 a1 파일을 수정하여 변경된 a1 파일을 전송, 팀장이 이전 파일을 요청
      • 이 경우 사원은 이전 a1 파일을 찾을 수 없음 : 원래 a1 파일을 수정하여 전송했기 때문
        • 기존 파일을 변경할 경우 파일 관리가 불가능 : 복사본 활용
 
notion image
 

예시 2

  1. 사원이 a1 ~ a100 까지의 파일을 작성하고 팀장에게 전송
  1. 팀장이 a3 파일의 수정을 요청
  1. 사원은 a3 파일을 복사하여 복사본을 수정한 후 팀장에게 전송
  1. 팀장이 수정된 a3 파일의 수정을 요청
  1. 사원은 수정된 a3 파일을 복사하여 그 복사본을 수정한 후 팀장에게 전송
      • 위와 같은 단계가 반복될 경우, a3 파일의 수정본이 끝도 없이 늘어날 수 있음
      • 무작정 파일의 복사를 하는 것이 아닌, 수정된 파일이 포함된 전체 파일의 버전을 관리
       
notion image
 

예시 3

  1. 사원이 a1부터 a100 까지의 파일을 담은 폴더 v1을 전송
  1. 팀장이 a3의 수정을 요청
  1. 사원은 v1 폴더를 복사하여 v2로 이름 변경, 복사한 폴더 내의 a3를 수정하여 v2 전송
      • log 파일을 추가하여 a3의 변경점 작성
  1. 팀장이 a100의 수정을 요청
  1. 사원은 v2 폴더를 복사하여 v3로 이름 변경, 복사한 폴더 내의 a100을 수정하여 v3 전송
      • log 파일을 추가하여 a100의 변경점 작성
 
  • 예시 3의 방법을 사용하게 되면 버전 관리가 효율적으로 이루어짐
  • 이전 버전이 필요한 경우 해당 버전 만을 남기고 나머지 버전들을 삭제 : Reset
    • History 추적이 불가능하다는 단점 존재
  • History 추적을 위해 필요한 버전의 복사본을 제작 : Revert
    • 용량이 증가하고, 파일 구조가 깔끔해지지 않음
 
notion image
 

2. VCS

  • 위와 같이 파일의 변경 사항이 발생했을 때에, 파일의 수정 기록들을 저장할 수 있는 소프트웨어
    • Git & Github 등이 대표적
  • 파일의 수정 기록을 저장하는 것 뿐만 아니라 파일의 복구, 동기화 및 저장, 수정 정보 등을 제공
 

CVCS ( Centralized Version Control System, 중앙집중식 버전관리 시스템 )

  • 하나의 서버(중앙 컴퓨터)를 기준
    • 파일 업로드, 다운로드 등을 전부 서버를 통해 진행
  • 파일 관리가 용이, 버전이 일관적이다는 장점
  • 서버 네트워크 오류 또는 DB 장애로 파일 손상 시 작업 불가
  • 커밋 시 바로 서버에 반영되어 파일이 덮어씌워짐
    • 다른 작업을 하던 개발자들의 파일 손상의 가능성이 높음
 
notion image
 

DVCS ( Distributed Version Control System, 분산 버전관리 시스템 )

  • 프로젝트의 전체 파일이 각 컴퓨터와 서버에 분산되어 저장
  • 각 사용자의 PC에 프로젝트를 1차로 저장하고, 명령에 따라 원격 저장소에도 저장 가능
  • 파일 손상, 히스토리 손상에도 쉽게 복구 가능 (로컬 파일에 손상이 가지 않음)
  • 형상을 맞추고 작업을 진행할 수 있으므로 커밋 실패 등에도 쉽게 복구 가능
    • 다른 개발자들에게 영향이 가지 않음 (원격 저장소로 올리지 않았을 때)
 
notion image
Share article

sxias