팀 개발을 위한 Git, GitHub 시작하기 - 소스코드 버전 관리를 위한 깃.깃허브, 오픈소스 참여
정호영.진유림 지음 / 한빛미디어 / 2020년 1월
평점 :
구판절판



리뷰에 앞서 본 리뷰는 한빛 출판 네트워크에서 진행한 ‘나는 리뷰어다’ 이벤트에서 제공받은 책으로 진행한 것을 밝힙니다.


  학생 시절에, 밤을 새서 작성한 코드를 실수로 날려버린 적이 있었는데, 그 때 내가 작성한 코드의 이력을 관리할 수 있으면 좋겠다 라는 생각을 했었다. 그래서 "GNU software로 프로그래밍하기(한빛미디어)" 라는 책에 소개된 RCS 라는 툴을 이용해 작업을 했고, 혼자 관리하기에는 나쁘지 않았었다. 그리고나서 CVS나 Subversion으로 조금씩 새로운 버전을 써 보다, 회사에 입사하게 된 이후에는 ClearCase와 Perforce를 사용해 코드를 관리를 하고 있다. 


  다양한 툴들이 나왔었지만, 어떤 툴이 나한테 맞는 툴이다에 대해서는 정답은 잘 모르겠으나, 요즘은 무료이고 사용하기 편리한 git이 대세인 듯하다. 이 책은 git을 이용해 기본적인 소프트웨어 이력 관리하는 방법과 github을 이용해 혼자가 아닌 다른 사람과 함께 cowork을 하는 방법을 쉽게 설명하고 있다.


  이 책은 초보자 분들께 설명을 하기 위해 쓰여진 책이다 보니, 이해를 쉽게 할 수 있도록 그림도 잘 그려져있고, step by step으로 하나씩 따라하기 편하게 글이 쓰여 있다. 또 어려울 수도 있는 용어에 대해서도 하나하나 친절히 설명하고 있어, 처음 git이나 github을 이용해 개발을 시작하려는 분들이나 기존 다른 툴을 사용하다가 git을 빠르게 익히려는 분들께도 나쁘지 않은 책이라는 생각이 든다. 요즘 트랜드인지는 모르겠지만, 책이 컬러로 인쇄가 되어 있어 책에 나온 그림이 더 쉽게 눈에 들어온다. 중요한 부분은 형광펜을 칠해놓은 듯이 표시가 되어 있어, 명령어나 중요한 부분이 눈에 쉽게 들어온다.


  이 책의 구성은 GUI를 책의 3/4가량 할애하여 최대한 쉽게 설명하고 있고, 나머지 1/4정도를 CLI 환경에서의 사용법을 설명하고 있다. 그러다 보니, CLI 환경에서 좀 더 설명이 많았으면 하는 기대를 가질 수도 있고, 좀 더 많은 옵션이나 명령어를 설명해 줬으면 하는 분들도 있을 것이라는 생각이 들었다. 하지만 개인적으로 지금까지 코드를 작성하고 submit하고 공유하고 하는 대부분의 업무에서 생각해 볼 때,  많이 사용하는 반드시 필요한 명령이나 사용법은 대부분 포함되어 있다고 본다. 계속 프로그램 개발자로 일을 해와서 그런지 모르겠지만, 기본적인 commit, merge, conflict, diff 및 branch 관리 방법 이외의 다른 명령들을 사용할 일이 그리 많지 않았다. 물론 단순 명령이 아니라 내부적인 configuration을 이용해 복잡한 설정이나 자동화를 위한 다양한 방법도 설명이 되어있으면 더 좋았겠지만, 그런 내용은 이 책의 범위를 벗어난다고 생각된다. 


  GUI 환경에서 프로그램 버전 관리 툴을 거의 써 본적이 없어서, 이 책에서 많은 분량을 할당해 설명한 GUI 툴이 좋은 것인지 아닌지는 모르겠으나, 초보자용분들이 쓰기에는 나쁘지 않은 툴이라는 생각이 들었다. 유사한 툴들도 많이 있으니, git이나 github에 좀 익숙해지면, 자신에게 맞는 툴들을 찾아보는 것도 괜찮을 것이라 생각된다. CLI용으로도 여러가지 툴들이 있는데, 개인적으로 사용해 본 툴들은 vim용 fugitive와 emacs용 magit 이다. 이 책에서 설명하는 CLI 사용법을 충분히 익힌 다음, 이러한 툴들도 사용할 기회가 있으면 사용해 보셔도 괜찮을 것이라 생각된다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo