형상관리를 위한 Git

CHM·2022년 6월 3일
0

Git

목록 보기
1/11

형상관리

  • 소프트웨어 개발 프로세스 각 단계에서 변경점을 체계적으로 추적하고 관리하는 일련의 모든 활동
  • 요구사항은 항상 변화되므로 소스코드도 함께 변화하므로 형상관리가 중요
  • 형상관리를 통해 리스크를 최소화하고 소프트웨어의 품질을 확보할 수 있다.

형상관리의 대상

  • SW 개발 모든 단계에서 발생하는 산출물
    • 요구사항 도출 단계 : 서비스 정의서, 요구사항 명세서
    • 디자인 단계 : 스토리보드, 와이어프레임, SW 아키텍처 문서
    • 구현 단계 : 소스코드, API문서, 개발자 가이드 문서

Git

  • 소스코드를 효율적으로 관리하기 위한 형상관리 도구
  • Git 이외에도 SVN, CVS 등 여러 가지가 있음
  • Git의 목표
    • 빠른 속도
    • 단순한 구조
    • 비선형적인 개발(수천 개 동시 다발적인 병렬 개발과 공유)
    • 완벽한 분산
    • Linux 커널과 같은 대규모 프로젝트에 유용

중앙 집중식 관리와 분산 집중식 관리의 차이

중앙 집중형 버전 관리

  • CVS, SVN 등이 있음
  • 원격 서버에는 공동으로 개발하는 소스코드 풀 셋이 존재
  • 각 개발자는 특정 파일을 가져와서 개발 작업을 진행하고, 작업 완료 시 원격 서버로 내보내는 구조
  • 직관적이고 간단하다는 장점
  • but, 네트워크가 끊기면 협업 자체가 불가능해짐. 원격 서버에 문제가 생겨서 개발 소스코드가 손실이 된다면 복구가 매우 힘듦

분산 집중형 버전 관리

  • Git, Mercurial 등이 있음
  • 원격 서버에는 공동으로 개발하고 있는 소스코드 풀 셋이 존재
  • 개발자의 로컬 저장소에도 동일한 풀 셋이 존재하므로, 동일한 파일에 대해서 개발하고 확인할 수 있음.
  • 로컬 저장소에도 풀 셋이 존재하기 때문에 원격 서버 코드가 손실이 되어도 복구가 가능함.
  • 커맨드 기반으로 사용
  • 브랜치, 스테이징, 워크 플로우 등의 다양한 기능이 있으므로 많이 사용하고 있음.

0개의 댓글