[Git] Git 이론

하나·2022년 1월 29일
0

Git

목록 보기
1/5
post-thumbnail

형상관리를 위한 Git

소프트웨어의 형상

형상 : 사물의 생긴 모양이나 상태

  1. 와이어프레임 - 실제 사용자가 어떻게 서비스를 사용하게 할 것인지 (스토리보드, 프로토타입)
  2. 플로우차트 - 서비스의 흐름
  3. 소스코드 - 서비스가 실제 실행될 수 있는 형태의 앱이 되려면 소스코드를 통한 프로그래밍 과정 필요

→ 소프트웨어의 형상은 요구사항 변경, 추가 될 때 등 지속적으로 변화

Requirements → Design → Implementation → Verification → Maintenance → Requirements

형상 관리

소프트웨어 개발 프로세스 각 단계에서 소프트웨어의 변경점을 체계적으로 추적하고 관리하는 일련의 모든 활동 (Software Configuration Management, SCM)

형상관리의 중요성

우리가 만드는 제품이 무결하다는 것을 실시간으로 관리하고 추적하는 과정, 이를 통해 프로젝트의 리스크를 최소화하고 소프트웨어의 품질을 확보할 수 있음.

형상관리의 대상

소프트웨어 개발 모든 단계에서 발생하는 산출물

  • 서비스 정의서
  • 요구사항 명세서
  • 스토리보드, 와이어프레임 등
  • SW설계문서
  • 소스코드
  • API 문서, 개발자 가이드 문서

Git

소스코드를 효율적으로 관리하기 위한 형상관리 도구

  • SVN
  • CVS
  • Git
  • Mercurial
  • BitKeeper
  • ClearCase 등

Git 의 목표

  • 빠른 속도
  • 단순한 구조
  • 비선형적인 개발 (수천 개 동시 다발적인 병렬 개발과 공유)
  • 완벽한 분산
  • 리눅스 커널과 같은 대규모 프로젝트에 유용

중앙 집중형 버전 관리

CVCS (Centralized Version Control System/ CVS,SVN )

원격 서버에 공동으로 개발하고 있는 소스코드 존재

장점 : 직관적, 간단함

단점 : 네트워크가 끊기면 협업이 불가, 원격 서버에 장애가 생기면 복구가 어려움

분산 집중형 버전 관리

DVCS (Distributed Version Control System/ Git, Mercurial)

원격 서버와 로컬 저장소에 공동으로 개발하고 있는 소스코드 존재.

네트워크 연결 없이도 로컬 저장소에서 작업 가능

쉽게 복원 가능

참고 : 코드프레소 '실무자가 알려주는 Git 입문' 강의
코드프레소 체험단 활동을 통해 강의를 제공받았습니다
https://www.codepresso.kr/

0개의 댓글