ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SCM] 버전 관리 : VCS / CVCS / DVCS
    SCM 2024. 12. 12. 17:20

     

     

    📌 목차 

    버전 관리란 ?

    Git 의 유래

     

     

    📌 버전 관리란 ? ( VCS : Version Control System ) 

    ◾ 버전 관리 시스템은 파일 및 소스의 변화를 시점에 따라 기록했다가 이후 특정 시점의 버전으로 복원할 수 있는 시스템이다.

    ◾ 버전 관리는 소스 코드만 관리하는 것이 아니라 이미지나 특정 파일 등의 버전을 관리하는 것이다.

     

    ⚡ VCS / SCM 

    ◦ Version Control System ( VCS )

     - 소프트웨어의 버전 관리를 담당하는 시스템

     Source Control Management / Source Code Management ( SCM )

     - 소프트웨어 전체보다 소스 코드에 주로 초점을 맞추는 관리 기법으로 VCS 와 동일한 개념

     Software Configuration Management ( SCM )

     - 형상 관리 / 구성 관리로 불리며, 소프트웨어의 변경 사항을 체계적으로 관리하여 개발 프로세스를 관리하는 시스템

     - VCS 및 SCM 에 더해 전반적인 프로젝트 환경들을 관리하는 포괄적인 개념

     

    ⚡ 버전 관리 시스템의 종류 

     로컬 버전 관리

     - 버전 관리 시스템이 대중화 되기 전 많은 사람들이 사용했던 방법으로 버전별 디렉토리로 파일을 복사하는 방법이다.

    로컬 버전 관리

    ◦ 중앙집중식 버전 관리 ( CVCS )

     - CVCS 방식은 VCS 방식에 비해 다른 사용자의 기록까지 관리할 수 있는 장점이 있다.

     - VCS 처럼 중앙 서버에 문제가 발생할 경우 모든 사용자에게 제약이 생기고, 백업이 어려워진다는 단점이 있다.

    중앙집중식 버전 관리

     

    ◦ 분산 버전 관리 시스템 ( DVCS )

     - Git, Mecurial, Bazaar, Darcs 등이 있다.

     - DVCS 는 단순히 마지막 파일의 스냅샷을 Checkout 하는 것이 아니라, 저장소 및 히스토리 전체를 복제하는 것이다.

       사용자 각각 저장소 및 히스토리를 가지게 되는 것이다.

     - 만약 서버에 문제가 발생할 경우, 사용자 중 하나를 선택해 서버를 복원할 수 있다.

     - Server Computer 에 해당하는 리모트 저장소가 존재하고 사용자들이 동시에 협업하기 쉽다.

    분산 버전 관리 시스템

     

     

    📌 Git 의 유래 ? 

    Linux 커널은 Linux Torvalds 라는 창시자가 만든 규모가 큰 오픈 소스 프로젝트이다.

     

    이 커널은 BitKeeper 라고 불리는 사용 DVCS 를 사용하여 프로젝트를 진행하였는데,

    이익을 추구하는 BitKeeper 의 관계가 틀어지자 Linux Torvalds 가 기존에 사용하던 교훈을 바탕으로 만든 분산 버전 관리 시스템이다.

     

     

     

     

    📌 Reference

    @ Git 공식 문서

    https://git-scm.com/

    댓글

Designed by IT's H.H.