메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

우리 모두를 위한 Git

tee***

|

2016-10-03

팀을 위한 Git

Git은 단순한 빌드 소프트웨어가 아니다. 이 책은 버전관리에서 사람을 우선으로 하는 접근법을 실용적으로 풀어내고, 이를 통해 Git을 중심으로 하여 더 효과적으로 팀 작업을 하는 방법에 대해서도 설명한다. 또한 계획을 세우는 방법을 설명하고, Git 워크플로우를 적용하는 방법도 설명한다. Git 워크플로우는 프로젝트 목표를 완수하는 데 큰 도움이 된다. 팀 내부의 즉각적인 요구에 유연하게 대응하고 팀이 지속적으로 성장할 수 있게 한다.

  • 저자 : 엠마 제인 호그빈 웨스트비
  • 번역 : 최병현
  • 출간 : 2016-09-01

 

 
#1
IT업계에서 경력을 쌓으며 CVS, SourceSafe, SVN 등 다양한 소스관리시스템을 거쳐왔다. CVS는 좀 부족하지만 그럭저럭 소스관리는 됐고, SourceSafe는 가끔 소스코드가 깨지기는(!) 하지만 쓸만했다. 근 5년째 사용하고 있는 SVN은 꽤 안정적으로 중앙집중형 버전 관리를 해주기 때문에, 소스뿐만 아니라 프로그램 관련 문서까지도 통합관리를 해보는 실험을 하는 중이다. 이런 과정을 거쳐 요즈음 가장 주목받고 있는 버전관리시스템인 Git에 입문했다. 그런데 Git을 처음 다뤄보며 받은 느낌은 '뭐가 이리 복잡해?'였다. 기본적으로 유닉스/리눅스 프로그래머들이 선호하는 커맨드 입력(CLI, Command line Interface) 형태를 권장하기 때문에 외워야 할 명령어가 정말 많았고, 분산 버전관리시스템(DVCS, Distributed Version Control System)의 개념은 낯설었다. Git 입문 첫날에는 checkout, commit, push, pull 등 기초 명령어에 대한 개념과 필수 옵션들을 익히는 데만도 반나절 가까이 걸렸던 것 같다. 겨우겨우 고생해서 필수 명령어들을 이해한 이후에는 새로운 의문이 들었다. 이 복잡한 Git을 내 개인 프로젝트에는 어떻게 적용할 것이며 회사에는 이걸 어떻게 전파해야 할까. 개인적으로 동료/상사에게 우리도 Git을 쓰면 이런 점이 개선된다고 주장할 수 있는 포인트를 잡기가 가장 어려웠는데, 이 책은 내게 바로 그 의문에 대한 해답을 제시했다.
 
#2
이 책의 1부는 '워크플로우 작성하기'부터 시작한다. 저자는 소프트웨어 개발의 프로세스에 Git을 어떻게 적용할 수 있으며, 이에 대해서 팀워크에 미치는 긍정적인 영향은 어떤 것이 있는가를 차근차근 설명한다. Git을 이용해서 팀작업별 상호작용을 하는 방법과 조직에 맞는 워크플로우를 개발하고 공유할 수 있도록 하는 일종의 Best Practice 공유로 볼 수 있다. 2부에서는 '1인 팀', '1인 이상의 팀'으로 Git 관리 프로세스를 각각 나눠서 단계별로 팀에 무엇이 필요한지를 알려준다. Git의 기능 설명이 이 가운데 잘 녹아있음은 물론이다. 이후에 검토와 버그 수정을 거쳐 3부의 'Git 호스팅'에서는 Git 호스팅 3대장이라고 할 수 있는 GitHub, BitBucket, Gitlab을 모두 한 장(Chapter)씩 활용해서 상세히 살펴보게 되는데, 앞서 보았던 '1인 팀', '1인 이상의 팀'과 이어지는 '대규모 동시 작업이 이뤄지는 초대형 팀'에 대한 작업 프로세스 정리라고 볼 수 있다. 특히 GitHub의 오픈소스 프로젝트와 Bitbucket에서의 비공개 팀 작업, GitLab을 통한 자체 호스팅까지 다루고 있으므로 현재 가장 화젯거리인 Git 서비스의 모든 것을 다 경험해볼 수 있는 것은 이 책의 최대 장점이다.
 
#3
다만 이 책은 오탈자가 가끔 있다. 특히 Git 명령어에 대한 옵션은 -와 --의 구분이 상당히 엄격하게 적용되는데 이 부분에 대한 오류가 많아서 출판사 홈페이지에서 오탈자를 미리 확인하는 편이 좋다. (잘못된 옵션을 치면 Git에서 '너 이 옵션은 -- 붙여야 해'라고 오류 메시지로 친절하게 알려주기 때문에 그냥 진행해도 문제는 없다.)
 
또한 저자의 문체가 전반적으로 유머러스하고 부드럽지만, 한국 사람의 입장에서 설명의 흐름을 따라가기 힘든 부분이 종종 있다. 특히, Git에 대해서 사전 지식이 없는 사람이 이 책 하나로만 Git의 모든 것을 끝내기는 어려울 것 같다. 최소한 Git이란 무엇인가, 그리고 기본적인 Git 명령어는 어떤 것이 있는가에 대한 기초개념 정도는 이해하고 책을 읽는 것을 추천한다. Git의 각 기능이 왜 필요하고 실제로 어떻게 쓰이는지 깔끔하게 정리하기 좋기 때문이다.
 
#4
이 책의 제목은 [팀을 위한 Git] 이다. 저자는 이 책이 '소프트웨어 매뉴얼'보다는 '팀 작업 협력 매뉴얼'에 가깝다고 설명했는데, 이 문구는 도서의 성격에 정확하게 부합한다. Git을 이용해서 프로젝트를 진행할 때 팀워크를 어떻게 구축하는지, 그리고 효율적인 소프트웨어 개발 프로세스를 어떻게 만들어가는 지에 집중했기 때문이다. 이 지점에서 이 책은 Git의 기능설명에 치중한 다른 입문서와는 다른 가치를 지닌다. Git을 완전히 이해하고 나서도 팀 프로젝트 관리에 대한 조언을 얻고자 옆에 두고 가끔 펼쳐보게 될 책이다. 내용 대부분을 완전히 체화할 수 있을 때까지 말이다.
 

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?