Git

리누스 토르발스가 개발한 분산형 버전 관리 시스템(VCS)이다. 리누스 토르발스는 초기에 리눅스 커널 소스 코드를 관리할 때 SVN(Subversion)이나 CVS(Concurrent Versions System) 같은 기존의 버전 관리 시스템을 아예 사용하지 않았다. 사용하지 않은 이유는 기능이 마음에 들지 않았다는게 정설이며, 수많은 사람들이 보내오는 메일링 리스트로 다른 개발자의 기여 내용을 관리하고 있었다. 그러다가 그도 결국 버틸 수 없었는지 버전 관리 시스템을 사용하기로 결정했는데, 그가 선택한 것은 BitKeeper[3]라는 프로그램이었다. BitKeeper는 상용 S/W였지만 분산 처리 기능과 비교적 빠른 성능 덕분에 사용했다고 한다. 토르발스의 이런 선택은 자유 소프트웨어 진영으로부터 지탄을 받았으나 자유 소프트웨어 진영에서도 마땅한 대안을 제시하지는 못했다.

그러다가 BitKeeper 쪽에서 리버스 엔지니어링을 문제로 일부 리눅스 개발자들을 제한하는 일이 발생했다. 그런 일이 발생하자 토르발스는 BitKeeper를 계속 쓸지 아니면 다른 버전 관리 시스템을 사용할지 결정해야 했는데, 토르발스의 선택은 제3의 길이었다. 그냥 자신이 직접 버전 관리 시스템을 만들기로 결정했고 그렇게 뚝딱뚝딱 직접 만든 게 바로 Git이었다. 단 2주만에 완성했다고 한다. 그리고 리눅스 커널 소스를 Git을 이용해서 관리하기 시작했다. 이 때문에 팽당한 BitKeeper는 유료 정책도 포기하고 무료로 풀었으며 심지어 아파치 라이선스로 소스까지 공개한 상태지만 대세를 거스를 순 없었다. 현재는 Git이 SVN, Mercurial, CVS 등 여타 버전 관리 시스템들을 큰 격차로 누르고 압도적인 점유율을 차지하고 있다.

https://namu.wiki/w/Git


Table of contents