리누스 토발즈는 리눅스를 만든 이후에 BitKeeper라고 하는 툴(Tool)로 리눅스의 각 버전들(ver1, ver2, ver3, ...)을 관리하고 있었다.
그런데 리눅스 커뮤니티의 개발자 한 명이 BitKeeper의 내부 동작 원리를 분석하려고 했던 일을 계기로 리눅스 커뮤니티와 BitKeeper 측의 사이가 틀어지게 되었다. 이 떄문에 리눅스 커뮤니티 측에 대해서 BitKeeper는 유로화되었고, 리누스 토발즈는 본인이 직접 버전 관리 프로그램을 만들어버렸다. 그것이 버전 관리 프로그램인 Git이다.
Git은 아래와 같은 목표를 갖고 설계 및 제작되었다.
Git은 버전 관리(Version Control), 협업(Cooperation)에 필요한 여러 요소들이 고려되었기 때문에, 사용성이 굉장히 좋은 프로그램이 될 수 있었다.
그럼 왜 Git이라는 이름이 붙었을까?
"깃은 당신의 마음에 따라 그 어떤 것으로도 해석될 수 있다."
이렇게 Git이라는 이름은 처음 만들어질 때부터 다양한 의미로 해석될 가능성을 갖고 탄생했다.
Github는 그럼 무엇인가? Git이 버전을 관리하는 프로그램이라면, Github는 원격 저장소를 제공해주는 서비스이다.
Git과 Github에 대해서는 뒤에서 더 자세히 설명하도록 하겠다.