Tools/Git

[Git] Git의 역사와 사용 목적

검은 까마귀 2022. 6. 12. 22:26

git은 매우 빠른 속도와 분산형 저장소 지원이 특징이다.

 

git은 리눅스 개발자인 리누스 토르발스가 개발을 했다. 

빠른 속도는 방대한 Linux  커널 소스 코드를 생각해보면 속도는 당연히 빠를수 밖에 없다.

오픈 소스 개발의 특성상 여러명의 개발자들이 붙어서 개발을 하게 되는데 본인 맘대로 개발하기 때문에 뭘 하나 잘못 붙였다가 코드가 작동하지 않았다. 

git은 이러한 특성에 매우 특화되도록 설계가 되었다.

 

git의 VCS방식은 DVCS로 분산 버전 관리 시스템으로 동작을 한다. git 이전에는 SVN인 CVCS는 중앙집중 관리 버전으로 동작한다.

 

두가지 VCS의 차이는 협업을 할 수있는지 없는지의 차이이다.

DVCS는 개발자 본인의 히스토리 코드를 갖고 작업을 할수 있는 반면 CVCS는 중앙집중 방식이기때문에 개발자가 코드를 커밋할시에 다른 개발자들에게도 영향을 미칠수 밖에 없다.

 

리누스 토르발스는 SVN의 방식을 쓰지 않고 개발을 했다고 한다.
오픈소스 개발 당시에 SVN방식은 위에 설명한것처럼 중앙집중식 버전 관리 방식이기때문에 너도 나도 기능을 구현할 수 있었고 그로인해 많은 문제점이 발생했기 때문에 메일링을 통해 리눅스 커널을 개발하다 결국 지쳐서 BitKeeper를 사용했다고한다.

하지만 BitKeeper쪽에서는 리버스 엔지니어링을 문제로 리눅스 개발자들을 제한하는 일이 생겼고 그로 인해 git이 탄생한 일화가 있다.

 

그로 부터  git의 목적은 버전관리(히스토리 관리), 백업, 협업의 목적으로 많이 사용되고 있다.

 

 

반응형