본문 바로가기

Tools

Git - it sucks.

● 형상관리 툴 중에 Git란 녀석이 있습니다. 분산형 형상관리툴로써, 요즘 쓰는 곳이 굉장히 많습니다. 특히 Google과 Linux를 포함한 Open source project는 대부분 이녀석을 사용합니다. 근데, 이녀석 쓰기가 굉장히 불편합니다. 그냥 불편한 정도가아니고, 굉장히 불편합니다. 

● 만약 당신이 친구들과 간단한 과제를 하거나, 개인적으로 혹은 10명 이내의 인원이 참가하는 프로젝트를 위한 간단한 형상관리 툴을 찾고 있다면, 그냥 MS의 Source Safe나 Perforce를 쓰십시요. Perforce는 유료툴이지만, 2개 계정까지는 라이센스 없이도 설치 후 사용할 수 있습니다. GIT 따위는 개나 줘버리십시요.  

● 왜 사람들은 이 형편없는 GIT을 쓸까요? Windows에서 개발하는 평범한 개발자 입장에서 GIT의 장점과 단점을 나눠봤습니다.  

● 장점
   1) 공짜다. 
   2) 저장공간도 공짜다. (GitHub)
   3) Review 툴도 공짜다. (Gerrit)
   4) 공짜라서 쓰는 곳이 많고, 따라서 배워두면 쓸일이 많다.
   5) 분산형이라 속도가 빠르고, Checkout시 Lock의 개념이 없어서 여러명이 공동으로 개발하기 편하다.

   실제로 Git이 트렌드가 된 이유는 1, 2, 3의 공짜 툴이 시너지가 되어 4번의 효과가 나온데 있습니다. 

● 단점
   1) 설치와 환경변수 셋팅이 어렵다. 초보자는 메뉴얼보고 따라하는 것도 쉽지 않다. 
   2) GUI가 지원되지않다 직관성이 매우 떨어진다. 
   3) 커맨드 모드가 기본이라 배우는데 시간이 오래 걸린다. Windows에 익숙한 개발자에게는 --help 도 암호이긴 마찬가지다. 
   4) 한번 꼬이면 갈 곳을 모른다. 
   5) 최신 버전 가져오는 것도 때로는 잘 안된다. 

● Linux에 이미 익숙하다면 그리 큰 문제가 안될지도 모릅니다. 그러나 Perforce가 현업에 투입된 개발자도 그날부터 쓰는데 크게 어렵지 않은 것에 비하면 Git은 정말 사용자 편이성이 떨어집니다. 
  Command line 기반이 편하네 어쩌네 하는 분들이 가끔 계신데, 그분도 PC는 윈도우든, 맥이든, 혹은 X 던 간에 GUI에서 동작할 겁니다. Command가 정말 편하다면 왜 GUI 환경으로 다 갈아타겠습니까? Command line이 편하네, Shell script 로 다 할 수 있네 어쩌네 하는건 다 지 잘난 맛에 하는 변명입니다. 정말 편하다는건, 아무것도 모르는 사람이 쓸 수 있는 걸 말하는 겁니다. 잘 쓰신다는 분들은 잘 쓰게 되는데까지 얼마나 오래 걸리셨습니까? Perforce는 잘쓰는데 하루면 충분합니다. 
  더군다나, Perforce는 그 잘난 Command line도 지원합니다. 흥!

  Git이 꼬이는 경우, Git에서 최신 버전조차 못가져오는 경우에 대해서는 추후 다른 문서에서 설명을 하겠습니다. 

● Git을 쓴지 근 1년이 되가는데, 아직도 쓸 때마다 욕을 하고 있습니다. 답답한 마음에, 진짜 초보자를 위한 메뉴얼을 만들어보려 합니다. 그래도 결론은 "왠만하면 Perforce를 쓰세요" 입니다.