Programming/Git

Git 이란?

awesometic 2016. 4. 4. 11:25
반응형

 Git 은 소스 코드 관리 시스템 중 하나이다. 리눅스 토발즈가 포함된 개발 팀에서 리눅스 커널 개발 도중 더 나은 커널 개발 및 관리를 위해 만들어졌다.

 분산 버전 관리 시스템(Distributed Version Control System, DVCS)이기도 하며, 이는 각 개발자가 중앙 서버에 접속하지 않고도 각자 코드 작업을 할 수 있다는 뜻이다.

 Git의 작업 폴더는 모두 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하는 완전한 형태의 저장소(Repository)이다. 네트워크에 접속하거나, 중앙 서버에 의존하지 않는다. 이 말은 앞서 말한 분산 버전 관리 시스템이란 말과 같다. 즉, 각 개발자는 자신의 컴퓨터에 모든 파일을 다 받아서 작업을 진행한다. 만약 자신이 git에 올라온 리눅스 커널 개발에 기여하고 싶다면, 리눅스 커널 소스 코드 전체를 다운받아 진행해야 한다.

 각 개발자가 작업이 끝나면 다시 Git의 원격 저장소(Remote repository)로 발행(Push)한다. 이 때, 원 저장소를 보호하기 위해 가지치기(Branch)라는 것이 존재한다. 가지치기를 통해 원 저장소에 어떠한 영향도 주지 않고 작업을 진행하다가, 나중에 개발이 완료될 시 원 저장소와 합칠 수 있다. 또한 개발 중간중간 꼬리표(Tag)를 매겨 개발을 더 수월하게 할 수도 있다.

 이러한 Git은 자신의 시스템에 손쉽게 설치할 수 있다. 유닉스 기반이라면 바로 자신의 유닉스 시스템을 Git 서버로 활용할 수 있다. 하지만 이러한 여건이 되지 않는 사람들을 위해 여러 Git 호스팅 사이트가 있다.

 Github: https://github.com/
 Github는 가장 유명한 Git 호스팅 사이트이다. 심지어 Github에서 호스팅하는 Git의 개발도 이 곳에서 진행된다(맨 밑에 링크). 다만 일반 사용자일 경우 자신의 모든 프로젝트는 공개되며, 유료 사용자일 경우에만 비공개 프로젝트를 진행할 수 있다.

 Bitbucket: https://bitbucket.org/
 Bitbucket 또한 유명하며, 무료로 사용할 수 있는 Git 호스팅 사이트이다. 이 곳은 Github와 다르게 소규모 프로젝트(5명 이하 참여)시 비공개 프로젝트를 만들 수 있다.

 이 두 개 외에도 codebase, gitbucket, gitlab, assembla 등 아주 많은 Git 호스팅 사이트가 있는데, 각자 찾아보고 가장 자신에 적합한 서비스를 선택하면 될 것 같다.

 

* Git은 오픈 소스이며, github에 올라와 있다: https://github.com/git/git

* Git에 대한 더 자세한 정보는 다음 링크를 참조

영문 위키피디아: https://en.wikipedia.org/wiki/Git_(software)

한글 위키피디아: https://ko.wikipedia.org/wiki/%EA%B9%83_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)

나무위키: https://namu.wiki/w/Git

반응형