리누스 토르발스가 2005년 4월, 자신이 만든 새 버전 관리 시스템에 "Git"이라는 이름을 붙였을 때 붙인 자평은 냉소적이었다. 영국 속어로 "멍청한 놈", "재수 없는 녀석"을 뜻하는 이 단어를 스스로에게 붙인 셈인데, 토르발스는 인터뷰에서 "나는 이기적인 놈이라 내 프로젝트에 전부 내 이름을 붙인다. 처음엔 리눅스, 이번엔 깃"이라는 농담을 남겼다. 다만 이 문서에서 다루는 "Git"이라는 표기는 세 갈래로 갈린다. 하나는 리누스 토르발스가 만든 분산 버전 관리 시스템, 하나는 대수기하학의 한 이론인 기하학적 불변 이론(Geometric Invariant Theory, GIT), 나머지 하나는 미국 조지아주 애틀랜타에 위치한 조지아 공과대학교(Georgia Institute of Technology)의 약칭이다.
분산 버전 관리 시스템으로서의 Git
가장 널리 알려진 의미는 소프트웨어 버전 관리 도구다. 2005년 리눅스 커널 개발진이 그동안 써오던 상용 도구 비트키퍼(BitKeeper)의 무료 사용권이 커뮤니티 내부 갈등으로 철회되자, 토르발스는 대안을 직접 만들기로 했다. 그는 단 열흘 만에 초기 버전을 완성했고, 이후 개발은 준탄 후바르트(Junio Hamano)에게 넘어가 지금까지 이어지고 있다. 중앙 서버 하나에 이력을 몰아넣는 CVS·SVN 방식과 달리, Git은 모든 개발자의 로컬 저장소가 전체 이력을 그대로 복제해 갖는 분산형 구조를 택했다. 이 덕분에 네트워크 연결 없이도 커밋·브랜치·이력 조회가 가능하고, 브랜치 생성 비용이 사실상 0에 가까워 실험적인 기능 개발이 활발해졌다. SHA-1 해시로 각 커밋의 내용을 지문처럼 식별하는 방식도 특징인데, 2017년 구글이 SHA-1 충돌 사례(SHAttered)를 공개하면서 장기적으로 SHA-256 전환 논의가 이어지고 있다. 오늘날 GitHub, GitLab, Bitbucket 같은 호스팅 서비스가 Git 위에서 협업 플랫폼을 구축했고, 2018년 마이크로소프트의 GitHub 인수(75억 달러 규모)는 오픈소스 생태계 전반의 화두가 되기도 했다.
기하학적 불변 이론(GIT)
수학, 그중에서도 대수기하학에서 다루는 GIT는 데이비드 멈퍼드(David Mumford)가 1965년 저서 《Geometric Invariant Theory》에서 체계화한 이론이다. 군의 작용 아래 놓인 대수다양체의 몫공간(quotient space)을 어떻게 정의할 것인가 하는 문제를 다루며, 안정점(stable point)·반안정점(semistable point) 개념을 도입해 모듈라이 공간(moduli space) 구성의 표준 도구로 자리 잡았다. 멈퍼드는 이 업적을 포함한 대수기하학 연구로 1974년 필즈상을 받았다.
조지아 공과대학교
세 번째 의미는 1885년 설립된 미국 조지아주 애틀랜타 소재 공과대학, 조지아 공과대학교의 약칭이다. 공학·컴퓨터과학 분야에서 미국 상위권으로 꼽히며, 2013년 세계 최초로 정규 온라인 컴퓨터과학 석사(OMSCS) 과정을 개설해 등록금을 대폭 낮춘 실험으로도 주목받았다. 이 대학 학생과 동문들은 스스로를 "Georgia Tech" 대신 줄여서 "Git"이라 부르기도 하는데, 개발자 커뮤니티에서 흔히 쓰는 동명의 버전 관리 도구와 검색 결과가 자주 뒤섞이는 웃지 못할 상황도 벌어진다.
왜 이 이름을 헷갈려하면 안 될까
"Git"이라고 검색하면 전혀 다른 세 가지가 나온다. 첫 번째는 프로그래머들이 코드를 관리할 때 쓰는 도구, 두 번째는 대학 수학 수업에서나 만날 법한 어려운 이론, 세 번째는 미국의 한 대학교 이름이다. 셋 다 알아두면 나중에 "이거 뭐야?" 하고 헷갈리는 일이 줄어든다.
프로그래머들의 필수 도구, Git
리눅스 운영체제를 만든 리누스 토르발스는 2005년, 자기 팀이 쓰던 유료 프로그램의 무료 사용 권한이 갑자기 끊기자 "그럼 내가 만들지"라며 열흘 만에 새 프로그램을 뚝딱 만들었다. 그게 바로 Git이다. 재밌는 건 이름의 뜻인데, 영국에서 "재수 없는 놈"을 가리키는 속어를 그대로 갖다 붙였다. 토르발스 본인이 "난 원래 내 프로젝트에 다 내 이름을 붙인다"며 농담 삼아 말한 적도 있다.
Git이 특별한 이유는 "분산" 방식 때문이다. 예전 도구들은 회사 서버 하나에만 작업 기록을 저장해서, 인터넷이 끊기면 아무 작업도 할 수 없었다. 반면 Git은 내 컴퓨터 안에도 전체 작업 기록을 통째로 복사해 두기 때문에, 인터넷이 없어도 이전 버전을 확인하고 새 기능을 실험할 수 있다. 지금은 전 세계 거의 모든 소프트웨어 회사가 Git을 쓰고, GitHub 같은 사이트에서 협업한다. 2018년에는 마이크로소프트가 GitHub를 75억 달러(약 10조 원)에 인수해서 화제가 되기도 했다.
수학 속 GIT
기하학적 불변 이론, 줄여서 GIT는 대학 수준의 대수기하학 이론이다. 1965년 수학자 데이비드 멈퍼드가 정리했는데, "복잡한 도형들을 어떤 규칙으로 묶어서(군 작용) 더 단순한 공간으로 정리할 수 있을까"를 다루는 이론이라고 생각하면 된다. 멈퍼드는 이 연구로 수학계의 노벨상이라 불리는 필즈상을 1974년에 받았다.
조지아 공과대학교
미국 조지아주 애틀랜타에 있는 유명 공과대학, 조지아 공과대학교(Georgia Tech)도 줄여서 "Git"이라 불린다. 2013년에는 세계 최초로 저렴한 온라인 컴퓨터과학 석사 과정을 열어서 교육계에서도 주목받았다. 컴퓨터공학을 전공하는 학생들이 이 학교 이야기를 하다가 프로그래밍 도구 Git과 헷갈리는 웃긴 상황이 종종 생긴다.
같은 이름, 다른 세 가지
"깃(Git)"이라는 말을 들으면 뭐가 떠올라? 사실 이 이름을 가진 게 세 가지나 있어. 하나는 컴퓨터 프로그래머들이 쓰는 도구, 하나는 대학교에서 배우는 어려운 수학 이론, 마지막 하나는 미국에 있는 대학교 이름이야. 마치 "사과"라는 말이 과일도 되고 컴퓨터 회사 이름도 되는 것처럼, 같은 이름이라도 상황에 따라 뜻이 완전히 달라지는 거지.
프로그래머의 타임머신, Git
옛날에 그림을 그릴 때 여러 번 고치다 보면 "아까 그린 게 더 나았는데" 하고 후회할 때가 있지? 프로그래머들도 코드를 쓰다가 똑같은 고민을 해. 그래서 2005년, 리누스 토르발스라는 사람이 딱 10일 만에 "Git"이라는 프로그램을 만들었어. 이 프로그램은 마치 타임머신처럼, 코드를 고칠 때마다 이전 모습을 전부 저장해 둬. 그래서 실수해도 언제든 예전으로 돌아갈 수 있어. 재밌게도 "Git"이라는 이름은 영국말로 "말썽꾸러기"라는 뜻인데, 만든 사람이 장난삼아 붙인 이름이야. 지금은 전 세계 거의 모든 컴퓨터 프로그램이 이 도구로 만들어지고 있어.
어려운 수학 이야기, GIT
수학자들이 쓰는 "기하학적 불변 이론"도 줄여서 GIT라고 불러. 도형들을 특별한 규칙으로 묶어서 정리하는 아주 어려운 수학 이론인데, 1965년에 데이비드 멈퍼드라는 수학자가 만들었어. 너무 대단한 연구라서 수학계의 노벨상이라고 불리는 "필즈상"까지 받았대.
미국의 대학교, Git
마지막으로 미국 조지아주에 있는 "조지아 공과대학교"도 짧게 "Git"이라고 불려. 컴퓨터와 과학을 아주 잘 가르치는 학교로 유명해. 그래서 이 학교 학생들이 "나 Git 다녀"라고 하면, 프로그래밍 도구를 말하는 건지 학교를 말하는 건지 친구들이 헷갈려 할 때도 있대.
문서 정보
최초 작성
최종 갱신
분류
기술
HANGUL.WIKI가 정리·작성한 문서입니다. 정확성을 위해 노력하나 오류가 있을 수 있으므로, 중요한 내용은 공식 출처를 통해 확인하시기 바랍니다.
내용의 오류나 정정 요청은 오류·정정 신고로 알려주시면 검토 후 반영합니다.