2007년 5월 8일 화요일

git

리누스 토발즈에 의해 만들어진 새로운 version 관련 시스템이다.

기존의 cvs와 subversion 등에 비해 새로운 개념으로 동작하는데, 그 기능은 다음과 같다.
  • 기존 버전관리 시스템과는 달리 통일된 하나의 repository를 운영하지 않는다. 각각의 복사본이 온전한repository 기능을 제공한다.
  • 그러나, 기존의 버전관리 시스템 처럼 하나의 repository를 이용하도록 할 수도 있다.
  • 매우 빠르게 동작한다.
  • 최소한의 저장공간을 요구한다.
  • branch 관리가 편리하다.
  • cvs emulation 기능을 제공한다. 즉, 외부에서 cvs 프로토콜을 이용하여 git에 접근할 수 있다.
하지만, 제공되는 기능이 많고, 새로운 개념을 도입하고 있어, 기존 버전관리 시스템에 익숙한 사용자에게 조금 낮설게 느껴질 수도 있다.

사용상의 차이점은 다음과 같다.
  • 일반적인 add, remove, update, commit 등의 명령어는 local에서 모두 동작한다. local이 하나의 독립적인 repository이기 때문이다.
  • 외부의 다른 개발자가 소유하고 있는 repository와의 merge 하려면 push, pull 등의 별도의 명령어를 사용해야 한다.
이러한 git를 살펴본 이유는 직업의 특성상 여러 embedded 단말을 사용하는데, 각 단말마다 특성이 달라 그 특성을 매번 단일 repository에 merge하는 것이 큰 부담으로 다가왔기 때문이다.

때문에, main branch를 하나 유지하고, 각 단말별로 별도의 branch로 분기하여 사용하는 방법이 효과적일 것으로 판단된다.

댓글 없음: