- 리누스 토발즈는 리눅스 커널 개발을 시작하고 거의 10년 동안 CVS나 서브버전(SVN)과 같은 소스 관리 소프트웨어를 사용하지 않음.
- 대신 타볼(tarball)과 패치(patch)를 사용
- CVS의 문제는 파일 단위로만 변경이 추적 가능해서, single revision 단위로 큰 패치를 인식할 수 없음.
- CVS는 모든 작업이 서버에 이루어짐.
- 리눅스 커널 처럼 큰 프로젝트에서 브랜치를 만들면 서버에 부하가 많이 걸려서 다른 작업에 영향을 줄 수 밖에 없음.
- 머지 작업 역시 서버에서 처리하는데, 브랜치 머지는 시간이 너무 오래걸림.
- 2000년대 부터 사용되기 시작한 서브버전(subversion) 역시 분산환경을 지원하지 않음
- 2002년 리누스는 분산 환경을 지원하는 BitKeeper라는 독점 소프트웨어를 소스 관리툴로 선택
- 많은 커널 해커들이 이를 반대했고, 리버스 엔지니어링을 시도해 클론을 만드려는 시도가 있었음.
- 결국, 리눅스는 BitKeeper 사용을 중지하고 독자적인 코드 관린 툴 개발을 시작.
- 2005년 6월 리누스는 깃(Git)를 공개.