[영진전문대 컴퓨터정보계열] Git에 대해서



버전 관리 시스템(Version Control System)이란?
버전 관리 시스템 소프트웨어의 예 : git, perforce, mercurial, subversion ...


(1) 버전이란?

어떠한 의미있는 변화들을 의미한다. 게임, 인터넷, 모든 응용 프로그램, 소프트 웨어들은 시간이 지남에 따라 관리자가 기능을 추가하고, 오류들을 개선한 새로운 버전들을 내어 놓는다.

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

이러한 변화들을 관리하는 체계나 소프트웨어를 말한다. 새로운 버전으로 기존의 정보를 수정하거나, 기능을 추가하는 등의 과정 중에 일어나는 데이터 소실, 오 수정 등의 문제를 버전 관리 시스템을 통해서 복원 등의 방법으로 해결 할 수 있다.

버전 관리 시스템의 예로 위키피디아를 예를 들어 보자.

위키피디아 : 분필



위키피디아의 경우, 수 많은 사용자가 함께 이용하는 온라인 백과사전으로, 각각의 사용자가 백과사전의 내용을 수정할 수 있다. 일부 사용자가 수정 도중 자의적으로든 아니든 수정 이전 사용자가 올렸던 기존 내용을 날려먹거나 잘못 수정했을 경우, 이전의 내용을 다시 백업 시킬 수가 있다.

위키 피디아에서 '분필'이라는 정보를 검색해 보자. 그럼 위와 같은 페이지가 뜨는데, 오른쪽 위의 '역사 보기'탭을 클릭하면 다음과 같은 페이지가 뜬다.

여기서 각각 수정된 날짜와 시간, 내용을 확인 할 수가 있다. 이러한 각각의 수정(변화)를 버전이라고 할 수 있다.  위의 각각 버전을 선택하고, 위의 '선택한 판을 비교하기'를 클릭하게 되면, 기존의 내용과 가장 최신의 내용의 변화를 확인할 수 있다.
따라서 위키피디아는 이러한 각각의 정보들에 대한 버전을 관리해 주는 버전 관리 소프트웨어라고 할 수 있다.

(3) Git이란?

Git은 가장 상용되고 있는 버전 관리 시스템 중 하나이다. Git에서는 같은 파일을 여러 명이 동시에 작업하고 병렬적인 개발이 가능하다. Git은 지난 버전의 소스코드로 되돌아 가는 기능, 브랜치를 통해 새로운 기능 추가 시 여러 실험을 한 후 프로그램에 합치는 Merge기능 또한 제공하고 있다.
분산 버전 관리 시스템이기 때문에 인터넷이 연결되어 있지 않은 곳에서도 개발이 진행 가능하며, 저장소가 손상되도 다시 복원할 수 있다.
자신들이 만든 코드를 오픈 소스로 공개하여, 여타 사람들과의 코드 협업이 가능하다.

여기서 깃을 다운 받을 수 있다.



댓글

가장 많이 본 글