Junjangsee's Blog

OSS개발자포럼 Git/Github 입문 행사 참석

2019-03-23

OSS개발자포럼 Git/Github 행사 참석

평소에 Git을 사용하고는 있었지만 정확히 어떻게 동작하는지 제대로 알고 사용하고 있지는 않았습니다.
혼자 구글링과 프로젝트 기간 동안 조원들과 함께 관리해보며 해봤던 기억과 기술들만으로 사용하고 있었습니다.

그래서 조금 더 발전할 수 있는 방법이 있지 않을까 생각하던 도중 딱딱한 서적을 보는 것보다는
세미나 등 강의를 참석해서 실습해보며 배워보자는 생각을 해보았습니다.
마침 OSS개발자포럼에서 Git/Github 행사를 진행한다고 하여 바로 신청하여 참석하게 되었습니다.

그래서 행사에서 배운 내용을 정리하려고 합니다 :)

소프트웨어 형상 관리와 버전 관리

소프트웨어 형상 관리 : 소프트웨어의 변경사항을 체계적으로 추적하고 관리, 통제하는 것

  • 형상관리대상
  • 요구사항 명세서
  • 설계서
  • 소스코드
  • 이미지
  • 라이브러리 파일
  • 프로젝트 회의록
  • 그 외 많은 관리 대상들

왜 형상 관리를 해야할까 ?

  • 소프트웨어 개발 생산성을 향상시켜 줍니다.
  • (요구사항을 바탕으로 개발을 진행하므로) 소프트웨어의 품질을 향상시켜 줍니다.
  • (문제가 있는 경우를 쉽게 발견할 수 있으므로) 유지보수 비용을 절감시켜 줍니다.


    소스 코드 버전 관리 : 소스코드의 변경사항을 체계적으로 추적하고 관리, 통제하는 것
    왜 버전 관리를 해야할까 ?
  • 소스코드로 인한 혼동이 최소화 됩니다.


버전 관리 시스템의 종류

  • 버전 관리 시스템 - VCS(Version Control System)
  • 집중형 버전 관리 시스템 - CVCS(Centralized VCS)
  • 분산형 버전 관리 시스템 - DVCS(Distributed VCS)


버전 관리 시스템 - VCS(Version Control System)

  • 로컬에서 직접 모든 자원을 관리
  • USB, 메일 첨부파일
    git


집중형 버전 관리 시스템 - CVCS(Centralized VCS)

분산형 버전 관리 시스템 - DVCS(Distributed VCS)

  • CVCS처럼 서버를 두고 서버에서 자원 관리를 하지만 로컬에서도 자원 관리를 함
  • Git - https://github.com/git/git
    git


Git의 흐름(workflow)

git
git

  • 현재 작업 디렉토리 - staging area
  • 커밋시 반영되는 파일이 보관되어 있는 임시 공간 - git directory
  • 커밋 기록들이 모여있는 저장 공간



깊이 있는 내용들을 다룬 것은 아니지만 기존에 알고 있던 내용들을 복습하고 개발하는 동료들과 즐거운 시간을 보냈습니다. :)

Tags: Git