Version Management   버전 관리

(2023-05-21)

Configuration Management , 형상 관리 , 깃 허브, git


1. [S/W공학]  버전 관리 (Version Management)소프트웨어파일들의 변경,삭제 이력 관리
     - 변경 이력 (시기,변경자,목적,변경내용 등) 기록
        . 버전 변경시, 로그 기록으로, 변경 사유를 덧붙일 수도 있는 등
     - 과거 특정 시점으로 복원 (언제든 이전으로 되돌릴 수 있음) 등

  ※ S/W 개발 프로젝트를 진행할 때, 버전 및 변경 이력을 관리하여, 협업 효율을 높이고자 함
     - 버전 마다 어떤 기능이 포함되었는지 등을 구분할 필요 있음
     - 여럿이 협업하는 경우, 누가,언제,무엇을 작업했는지 등에 대한 이력을 남겨 관리할 필요 있음


2. [S/W공학]  S/W 버전 관리 例)  깃 / 깃허브

  ㅇ 깃 (Git)  :  분산형 버전 관리 시스템
     - 특징
        . (소스 코드 관리 도구, 형상관리 툴) : 코드의 버전 관리를 체계적으로 수행 가능
        . (분산 저장 관리) : 원격 저장소, 지역 저장소에 소스 코드를 분산 저장
        . (이력 기록 관리) : 누가,언제,어떤 파일을,어떻게 수정했는지 변경 이력을 기록
        . (변경 이력 병합) : 하나의 소스 코드에 여러 변경 이력을 통합하는 기능을 제공
        . (소프트웨어 작성에 따른 복잡도 완화)
           .. 개발자 자신의 프로그램에 대한 특정시점의 스냅샷을 저장,복원 등
           .. 타 개발자와 쉽게 협력(협업)도 가능
        . (공개성) : 타 개발자들의 코드를 쉽게 내려받을 수 있음

     - 데이터 취급 방식
        . (데이터 취급 관점) 스냅샷의 연속으로 취급
        . (데이터 관리 단위) 체크섬 (SHA-1 해시 이용)
           .. 폴더,파일의 이름이 아닌, 식별성 있는 체크섬 ID로써 데이터를 관리
        . (데이터 상태 관리) 3가지 상태로 구분 관리
           .. modified (수정), staged (커밋 중), committed (커밋 완료)

     - 깃 명령어 수행 환경 종류  :  CLI 환경, GUI 환경

     - 주요 명령어
        . git init  :  해당 프로젝트를 깃 지역 저장소로 지정
        . git add  :  수정한 파일을 스테이징 영역으로 옮김
        . git commit  :  지역 저장소에 저장
        . git push  :  지역 저장소 변경 내역을 원격 저장소에 반영
        . git clone  :  원격 저장소에서 지역 저장소로 프로젝트 전부 내려 받기
        . git pull  :  프로젝트 일부 만 내려 받기

  ㅇ 깃허브 (GitHub)  :  깃 프로젝트 호스팅 서비스
     - 깃을 이용한 프로젝트 관리의, 원격 저장소 역할을 수행하는, 웹 호스팅 서비스
        . 깃의 기본 기능 위에 다양한 웹서비스 기능을 추가 함
        . 여기서, 원격 저장소(서버)는, 
           .. 각 개발자(클라이언트)의 소스 코드와 버전 이력을 동기화시키는 역할을 함

소프트웨어공학 기초
   1. 소프트웨어 공학   2. 버전 관리   3. 요구 분석   4. 소프트웨어 설계   5. 소프트웨어 아키텍처   6. CBD (컴포넌트기반개발)   7. MDA (모델주도형구조)   8. 순기/생명주기   9. 분할 후 정복  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"