11
GIT란 무엇인가? 발표자 김병수 - 분산 버전 관리 시스템으로부터 초대

Git란 무엇인가?

Embed Size (px)

Citation preview

Page 1: Git란 무엇인가?

GIT란 무엇인가?

발표자 김병수

- 분산 버전 관리 시스템으로부터 초대

Page 2: Git란 무엇인가?

목 차

1. Git란?

2. 버전 관리 시스템(VCS)이란?

3. 버전 관리 시스템을 이용해야하는 이유

4. 버전 관리 시스템의 종류

1) 중앙집중식 버전 관리(CVCS)

2) 분산 버전 관리(DVCS)

5. 분산 버전 관리 시스템의 장점

6. 주요 버전 관리 시스템 비교

Page 3: Git란 무엇인가?

1. Git란?

-프로그램 등의 소스 코드 관리를위한 분산 버전 관리 시스템

-빠른 수행 속도에 중점

-네트워크에 접근하거나 중앙 서버에 의존하지 않음

-작업 폴더는 모두, 전체 기록과 각기록을 추적할 수 있는 정보를 포함한 완전한 형태의 저장소

Page 4: Git란 무엇인가?

- 동일한 정보에 대한 여러 버전을 관리

-공학과 소프트웨어 개발에서 팀 단위로 개발 중인 소스 코드나, 설계도 등의 디지털 문서를 관리하는데 사용

-그러한 문서의 변경 사항들에 숫자나문자로 버전을 부여해서 구분

-버전을 통해서 시간적으로 변경 사항과 그 변경 사항을 작성한 작업자를 추적

2. 버전 관리 시스템(VCS)이란?

로컬 VCS (1세대)

Page 5: Git란 무엇인가?

- 조직의 핵심 자산인 소스 코드의 개정과 백업 절차를 자동화하여 오류 수정 과정을 도와줄 수 있는 시스템

-> 이미 다수의 국제 협력 개방 소프트웨어 개발 실무에서 널리 사용

- 대부분의 주요 소프트웨어 개발 프로젝트는 아직도 소프트웨어의설계도라 할 수 있는 소스 코드 작성이 주요한 부분

-> 소스 코드는 기업체 또는 연구소의 핵심 역량이 응축된 핵심 자산

- 어떤 형태로든 소스 코드를 백업하여 분실의 위험에서 보호

- 개정 전후 내용을 파악하여 추후 발생할지도 모를 오류 수정에 대비

3. 버전 관리 시스템을 이용해야하는 이유

Page 6: Git란 무엇인가?

- 저장소가 로컬에 있지 않고 원격에 존재하기 때문에 여러 사람이 원격 서버에 소스를 저장하거나 사용

- 모든 소스들이 하나의 서버에 통합이 되기 때문에 버전관리 업무도 쉽게 처리 가능하며 개발자간 소스파일 공유도 편리

- CVS, Subversion(SVN), Perforce 등

4. 버전 관리 시스템의 종류

중앙집중식 VCS (2세대)

1) 중앙집중식 버전 관리(CVCS)

Page 7: Git란 무엇인가?

- 개발자가 중앙 서버에 접속하지 않은상태에서도 코드 작업을 할 수 있음

- CVCS의 문제점을 해결한 버전 관리

- 서버에서 소스코드를 복제할 때에 최신버전의 코드만 가져오지 않고 원격서버의 저장소에 기록되어 있는 모든정보를 가지고 오는 방식

- Git, Mecurial, Bazaar, Darcs 등

4. 버전 관리 시스템의 종류

분산 VCS (3세대)

2) 분산 버전 관리(DVCS)

Page 8: Git란 무엇인가?

5. 분산 버전 관리 시스템의 장점

- 서버의 데이터가 로컬에도 존재하기 때문에 불필요한 서버 접근을 최소화 -> 속도가 대단히 빠름

- 소스코드를 서버에 넣거나 혹은 가져올 때를 제외하고는 온라인이 상태가 아니어도 대부분의 작업을 로컬에서 수행할 수 있음

- > 나중에 최종 작업결과만 서버에 넣기만 하면 됨

- 서버에 데이터가 손실되는 사고가 발생하여도 각 클라이언트들이 저장소의 정보를 모두 가지고 있음 -> 서버 데이터 복구 가능

즉, DVCS의 장점을 잘 활용하면 인터넷 사용이원활하지 않은 장소에서도 버전 관리를 할 수 있음

Page 9: Git란 무엇인가?

6. 주요 버전 관리 시스템 비교

CVS Subversion(SVN) Git

개발자 The CVS Team 콜랩넷 리누스 토르발스

종류 중앙집중식 중앙집중식 분산 버전 처리

최근 버전 1.11.23 1.8.8 1.9.0

운영체제유닉스 계열, 윈

도크로스 플랫폼 크로스 플랫폼

라이선스 GNU GPL 아파치 라이선스GNU 일반 공중사용허가서 v2

Page 10: Git란 무엇인가?

다음주 주제 : GIT 들여다보기

Page 11: Git란 무엇인가?

감사합니다