Git 이란?

old/Git 2010. 2. 1. 10:24

 CVS, SVN만 잘 사용하더라도 애플리케이션을 개발하는데 큰 문제가 되지 않았다. 그런데 CVS와 SVN을 사용하면서 가장 짜증나는 것은 브랜치를 관리하는 것이다. 특히 Version Control for Multiple Agile Teams와 같이 태스크를 관리하고 버전 관리 시스템을 활용하는데 CVS, SVN은 분명 한계점을 가지고 있다. CVS와 SVN을 사용해 Merge 작업을 해본 개발자라면 짜증이 완전 지대로일 것이다.


 그 대안으로 찾은 것인 분산 버전 관리 시스템(Distributed Version Control Systems (이하 DVCS))이다. 중앙 버전 관리 시스템과 분산 버전 관리 시스템에 대한 자세한 설명은 Intro to Distributed Version Control (Illustrated) 문서를 통하여 확인할 수 있다. 요즘은 온라인 상에 너무 좋은 문서가 많아서 따로 작성하지 않아도 된다는 것이다. 단, 대부분의 문서가 영어로 되어 있다는 것이 단점이다.


 Git는 무료로 사용할 수 있는 DVCS의 한 종류이다. 중앙 버전 관리 시스템을 사용할 경우 정형화된 하나의 워크플로우를 가져갈 수 있기 때문에 학습 비용이 적어 프로젝트에 처음 적용할 때 유리하다. 하지만 다양한 워크플로우로 응용하는데 한계점이 있다. DVCS는 이 같은 한계점을 극복하고 다양한 워크플로우를 가져갈 수 있다. DVCS를 사용할 때의 다양한 워크플로우는 http://bazaar-vcs.org/Workflows에서 볼 수 있다.


 Git가 가지는 장점 중의 하나는 지금까지 많이 사용하고 있는 중앙 버전 관리 시스템인 SVN과 같이 사용하는 것이 가능하다는 것이다. 지금까지 중앙 버전 관리 시스템에 익숙한 개발자에게 바로 DVCS를 사용하도록 하는 것은 쉽지 않다. 이 같은 환경이라면 SVN과 Git를 같이 사용하도록 워크플로우를 가져가는 것이 바람직하다.

'old > Git' 카테고리의 다른 글

git 요약  (0) 2010.07.27
Subversion Git 사용법  (0) 2010.05.14
Eclipse Plugins  (0) 2010.02.01
Git과 SVN 통합  (0) 2010.02.01
Git 설치와 설정  (0) 2010.02.01
Posted by jazzlife
,