Git

내위키
Dennis (토론 | 기여)님의 2021년 12월 12일 (일) 21:34 판

오픈 소스 버전 관리 시스템. 사실상 버전 관리 시스템의 표준으로 자라 잡았고, 그 이전의 강자들을 다 씹어먹어 버렸다. 리누스 토르발스가 개발했으나 지금은 리누스는 개발에는 손을 뗀 상태이며 다른 여러 개발자들이 운영하고 있다. 리누스도 개발에 손을 뗐다 뿐이지 리눅스 소스 코드 관리는 당연히 이걸로 하고 있다. 애초에 Git을 개발한 계기가 기존의 VCS에 빡친 나머지 리눅스와 같은 거대한 프로젝트도 잘 관리할 수 있는 시스템을 만들기 위한 것이었으니.

여러 개발자가 팀으로 작업하는 프로젝트에서는 소스 코드를 가지고 이 사람 저 사람들이 이렇게도 해 보고 저렇게도 해 보고 하게 마련이고, 그러다 보면 남의 코드를 건드려서 문제를 일으키기도 하고 버그가 있을 수도 있고, 개선했다고 만든 코드가 영 아니라서 되돌려야 할 수도 있다. 그래서 버전 관리 시스템을 사용하게 되는데, 리누스 토르발스는 CVS나 서브버전(Subversion, SVN) 같은 기존의 VCS를 별로 마음에 들어하지 않아서 메일링 리스트를 사용해서 소스 코드를 관리했지만 덩치가 점점 커지면서 결국 VCS를 안 쓸 수 없게 되었다. 그래서 채택한 게 BitKeeper라는 것인데, 상용 소프트웨어라 오픈 소스 진영에서는 비난하는 사람들도 많았지만 이만한 기능을 제공해 주는 VCS도 딱히 없는 지라 그냥 쓰고 있었다. 그런데 BitKeeper 측에서 갑자기 리버스 엔지니어링을 문제 삼아 일부 개발자들의 사용을 막는 사태가 벌어지면서, 빡친 나머지 '그냥 내가 직접 만들고 만다!' 하고 단 2주만에 개발한 게 Git이다. 그래서 BitKeeper는? 리누스를 빡치게 만든 죄로 Git에 점유율을 다 털리고 뒤늦게 오픈 소스로 전환하긴 했지만 대세를 돌리기에는 역부족. 순식간에 버전 관리 시스템의 대세가 되어 버렸고, 그만큼 기존의 VCS에 비해 막강한 기능과 안전성을 자랑하는 소프트웨어다. 오죽하면 '리누스 토르발스리눅스 안 만들었어도 Git만으로도 존경을 받았을 거다'는 말이 나올 정도. Git 이외에는 아파치재단이 운영하고 있는 서브버전이 어느 정도 점유율을 가지고 있다. 일단 아파치재단이 이걸 쓰고 있으니.[1] CVS는 2008년 이후로는 개발이 중단된 상태고 일부 핵심 개발자들이 서브버전으로 넘어간 것으로 알려져 있다.

이를 기반으로 한 온라인 서비스인 GitHub가 소스포지를 누르고 오픈 소스의 성지로 자리를 굳혔고[2] Bitbucket, GitLab과 같은 서비스도 한자리씩 차지하면서 Git의 입지는 더더욱 강고해젔다. 비주얼 스튜디오[3], IntelliJ IDEA를 비롯한 웬만한 IDE들도 버전 관리를 위해 Git을 기본으로 지원하고 있다. 팀 작업을 하지 않는 개인 개발자라고 해도 이러한 서비스를 이용하기 위해서는 Git에 익숙해져야 한다.

윈도우를 사용하는 개발자들에게는 약간 다른 의미로 쓸모가 있는데 윈도우용 Git에 들어 있는 Bash 쉘이 은근히 물건이다. POSIX 호환 쉘이 필요할 때 굉장히 요긴하다. 이전에는 Cygwin이 좋은 해법이었지만 어차피 개발자라면 Git은 깔아야 하고, 거기에 기본으로 딸려오는 게 Git Bash라 편의성이 비교가 안 된다. WSL은 아예 가상머신을 하나 설치해야 하므로 덩치가 큰 데다가 파일 시스템이 따로 놀기 때문에 윈도우 파일 시스템 속을 그대로 돌아다닐 수 있는 쉘로는 이만한 게 없을 정도다. 비주얼 스튜디오 코드의 터미널로 윈도우 커맨드 대신에 이놈을 쓸 수도 있어서 설정만 잡아주면 대단히 편리하다.

각주

  1. 하지만 아파치재단의 프로젝트 중에도 서브버전이 아닌 Git을 쓰는 것들도 많다.
  2. GitHub마이크로소프트가 인수했다. 빌 게이츠 시절 그렇게도 오픈 소스에 적대적이었던 그 마이크로소프트가! 그 때문에 초기에는 우려의 목소리도 컸고 GitLab 같은 다른 서비스로 갈아타는 개발자가 기업들도 있었다. 하지만 사티아 나델라가 CEO가 되면서 MS오픈 소스에 굉장히 친화적으로 바뀌었고, 오픈 소스 소프트웨어를 잘만 써먹고 있다. 윈도우 개발에도 Git을 적극 활용하는 것은 물론이고. 지금은 우려의 목소리는 쏙 들어가고 GitHub은 여전히 오픈 소스계에서 잘 나가고 있다.
  3. 비주얼 스튜디오 코드 포함.