inblog logo
|
sxias
    Git

    [Git] 2. 형상 관리

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

    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 파일을 복사하여 그 복사본을 수정한 후 팀장에게 전송
    1. …
        • 위와 같은 단계가 반복될 경우, 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
    Contents
    1. 형상 관리2. VCS

    Sxias ㆍ a32176740@gmail.com

    RSS·Powered by Inblog