Upload
kim-byoungsu
View
141
Download
5
Embed Size (px)
Citation preview
GIT란 무엇인가?
발표자 김병수
- 분산 버전 관리 시스템으로부터 초대
목 차
1. Git란?
2. 버전 관리 시스템(VCS)이란?
3. 버전 관리 시스템을 이용해야하는 이유
4. 버전 관리 시스템의 종류
1) 중앙집중식 버전 관리(CVCS)
2) 분산 버전 관리(DVCS)
5. 분산 버전 관리 시스템의 장점
6. 주요 버전 관리 시스템 비교
1. Git란?
-프로그램 등의 소스 코드 관리를위한 분산 버전 관리 시스템
-빠른 수행 속도에 중점
-네트워크에 접근하거나 중앙 서버에 의존하지 않음
-작업 폴더는 모두, 전체 기록과 각기록을 추적할 수 있는 정보를 포함한 완전한 형태의 저장소
- 동일한 정보에 대한 여러 버전을 관리
-공학과 소프트웨어 개발에서 팀 단위로 개발 중인 소스 코드나, 설계도 등의 디지털 문서를 관리하는데 사용
-그러한 문서의 변경 사항들에 숫자나문자로 버전을 부여해서 구분
-버전을 통해서 시간적으로 변경 사항과 그 변경 사항을 작성한 작업자를 추적
2. 버전 관리 시스템(VCS)이란?
로컬 VCS (1세대)
- 조직의 핵심 자산인 소스 코드의 개정과 백업 절차를 자동화하여 오류 수정 과정을 도와줄 수 있는 시스템
-> 이미 다수의 국제 협력 개방 소프트웨어 개발 실무에서 널리 사용
- 대부분의 주요 소프트웨어 개발 프로젝트는 아직도 소프트웨어의설계도라 할 수 있는 소스 코드 작성이 주요한 부분
-> 소스 코드는 기업체 또는 연구소의 핵심 역량이 응축된 핵심 자산
- 어떤 형태로든 소스 코드를 백업하여 분실의 위험에서 보호
- 개정 전후 내용을 파악하여 추후 발생할지도 모를 오류 수정에 대비
3. 버전 관리 시스템을 이용해야하는 이유
- 저장소가 로컬에 있지 않고 원격에 존재하기 때문에 여러 사람이 원격 서버에 소스를 저장하거나 사용
- 모든 소스들이 하나의 서버에 통합이 되기 때문에 버전관리 업무도 쉽게 처리 가능하며 개발자간 소스파일 공유도 편리
- CVS, Subversion(SVN), Perforce 등
4. 버전 관리 시스템의 종류
중앙집중식 VCS (2세대)
1) 중앙집중식 버전 관리(CVCS)
- 개발자가 중앙 서버에 접속하지 않은상태에서도 코드 작업을 할 수 있음
- CVCS의 문제점을 해결한 버전 관리
- 서버에서 소스코드를 복제할 때에 최신버전의 코드만 가져오지 않고 원격서버의 저장소에 기록되어 있는 모든정보를 가지고 오는 방식
- Git, Mecurial, Bazaar, Darcs 등
4. 버전 관리 시스템의 종류
분산 VCS (3세대)
2) 분산 버전 관리(DVCS)
5. 분산 버전 관리 시스템의 장점
- 서버의 데이터가 로컬에도 존재하기 때문에 불필요한 서버 접근을 최소화 -> 속도가 대단히 빠름
- 소스코드를 서버에 넣거나 혹은 가져올 때를 제외하고는 온라인이 상태가 아니어도 대부분의 작업을 로컬에서 수행할 수 있음
- > 나중에 최종 작업결과만 서버에 넣기만 하면 됨
- 서버에 데이터가 손실되는 사고가 발생하여도 각 클라이언트들이 저장소의 정보를 모두 가지고 있음 -> 서버 데이터 복구 가능
즉, DVCS의 장점을 잘 활용하면 인터넷 사용이원활하지 않은 장소에서도 버전 관리를 할 수 있음
6. 주요 버전 관리 시스템 비교
CVS Subversion(SVN) Git
개발자 The CVS Team 콜랩넷 리누스 토르발스
종류 중앙집중식 중앙집중식 분산 버전 처리
최근 버전 1.11.23 1.8.8 1.9.0
운영체제유닉스 계열, 윈
도크로스 플랫폼 크로스 플랫폼
라이선스 GNU GPL 아파치 라이선스GNU 일반 공중사용허가서 v2
다음주 주제 : GIT 들여다보기
감사합니다