OSS개발자포럼 Git/Github 행사 참석
평소에 Git을 사용하고는 있었지만 정확히 어떻게 동작하는지 제대로 알고 사용하고 있지는 않았습니다.
혼자 구글링과 프로젝트 기간 동안 조원들과 함께 관리해보며 해봤던 기억과 기술들만으로 사용하고 있었습니다.
그래서 조금 더 발전할 수 있는 방법이 있지 않을까 생각하던 도중 딱딱한 서적을 보는 것보다는
세미나 등 강의를 참석해서 실습해보며 배워보자는 생각을 해보았습니다.
마침 OSS개발자포럼에서 Git/Github 행사를 진행한다고 하여 바로 신청하여 참석하게 되었습니다.
그래서 행사에서 배운 내용을 정리하려고 합니다 :)
소프트웨어 형상 관리와 버전 관리
소프트웨어 형상 관리 : 소프트웨어의 변경사항을 체계적으로 추적하고 관리, 통제하는 것
- 형상관리대상
- 요구사항 명세서
- 설계서
- 소스코드
- 이미지
- 라이브러리 파일
- 프로젝트 회의록
- 그 외 많은 관리 대상들
왜 형상 관리를 해야할까?
- 소프트웨어 개발 생산성을 향상시켜 줍니다.
- (요구사항을 바탕으로 개발을 진행하므로) 소프트웨어의 품질을 향상시켜 줍니다.
- (문제가 있는 경우를 쉽게 발견할 수 있으므로) 유지보수 비용을 절감시켜 줍니다.
소스 코드 버전 관리 : 소스코드의 변경사항을 체계적으로 추적하고 관리, 통제하는 것
왜 버전 관리를 해야할까 ?
- 소스코드로 인한 혼동이 최소화 됩니다.
버전 관리 시스템의 종류
- 버전 관리 시스템 - VCS(Version Control System)
- 집중형 버전 관리 시스템 - CVCS(Centralized VCS)
- 분산형 버전 관리 시스템 - DVCS(Distributed VCS)
버전 관리 시스템 - VCS(Version Control System)
- 로컬에서 직접 모든 자원을 관리
- USB, 메일 첨부파일
집중형 버전 관리 시스템 - CVCS(Centralized VCS)
- 하나의 서버를 두고 서버를 중심으로 모든 자원을 관리
- SVN - https://subversion.apache.org/
분산형 버전 관리 시스템 - DVCS(Distributed VCS)
-
CVCS처럼 서버를 두고 서버에서 자원 관리를 하지만 로컬에서도 자원 관리를 함
Git의 흐름(workflow)
- 현재 작업 디렉토리 - staging area
- 커밋시 반영되는 파일이 보관되어 있는 임시 공간 - git directory
- 커밋 기록들이 모여있는 저장 공간
깊이 있는 내용들을 다룬 것은 아니지만 기존에 알고 있던 내용들을 복습하고 개발하는 동료들과 즐거운 시간을 보냈습니다. :)