rick***
2020-07-05

이 책은 시나리오를 곁들인 실습으로 시작해서 깃과 깃허브를 처음 접하는 사람 또는 좀 더 깊은 난이도에서 깃과 깃허브를 다루고 싶은 개발자, 디자이너, 기획자 모두에게 유용합니다.
0. 소스코드 관리 어쩔거니?
컴퓨터를 전공하는 학생들도 프로그래밍을 공부할 때 소스코드 관리를 크게신경 쓰지 않습니다. 그도 그럴것이 교과과에서는 프로그래밍에 대한 관리보다는 원리 이해가 더 중요시 되기 때문입니다. 그리고 소스코드 관리에 대한 내용도 개론 정도에서 익혀질 뿐 실제 이를 다루는 일은 거의 교육과정에서 이뤄지지 않습니다.
문제는 ~ 실전이다~
그러나 문제는 회사에서 발생하게 됩니다. 회사에서는 팀원들과 대형 프로젝트를 분업화해 일하게 되는데 신입사원들은 이 부분에서 미숙해 당황하는 경우를 종종 보게 됩니다. 사실 학교에서 당연히 배웠어야 하지만 학교에서는 이를 가르치지 않으니 어찌보면 당연한 결과지요. 물론 요즘, Github가 큰 유명새를 타면서 많이들 접하곤 있지만, 실제 그 쓰임을 잘 이해하고 있는 이들은 아직도 적은 것 같습니다.
이제부터 알면됩니다. 그리고 알고 개발합시다!
이 책은 Git, Github의 활용을 자세하게 다루고 있습니다. 저자도 Git을 개발자의 필수도구라고 소개합니다. 저자는 Git, Github를 최대한 쉽게 설명하기 위해서 아래와 같은 원칙을 가지고 책을 집필했다고 합니다.
1. 실제 협업 시나리오로 스토리텔링을 하면서 Git의 필요성과 CLI 명령어를 소개합니다.
2. GUI로 작업 그래프를 보여주면서 1번의 실습 과정을 GUI로 실습한다.
3. 복잡한 명령어를 실습하기 전에 Git의 원리를 그림으로 쉽게 설명한다
4. 실무에서 많이 ㅆ는 응용 명령어를 실무 사례와 함께 알려준다.
*CLI(Command Line Interface)
1. 7주일 Git, GitHub에 익숙해지기
이책은 총 12개의 Chapter로 구성돼 있습니다. Chapter 0에서는 Git, Github의 감을 익히기 위해 초보자가 익혀야 할 필수적인 부분의 내용을 다루고 있습니다. 그리고 책은 크게 2개의 큰 Part를 통해 Git을 소개합니다.
Part1 - GUI 환경에서 Git을 소개합니다. 특히 개발현장의 실제 협업 시나리오로를 기반으로 스토리텔링을 이끌어 냅니다.
Part2 - CLI 환경에서 Git을 소개합니다. Part1에서 숙달한 GUI 기반의 사항을 CLI 사항으로 익히며, 숙달과 정복이 가능하도록 이끕니다.
그리고 하루에 학습을 기록하는 학습진도표를 제공해, Git, GitHub를 7일내 익힐 수 있도록 스케쥴을 제공합니다.
2. 이 책은 어떤 도움을 줄까?
사실 이 책을 보는 독자라면, 팀단위의 소스코드를 어떻게 관리해야할 지 궁금하신 분들이 읽을 가능성이 높습니다. 하지만, 이런 분들은 아마도 한번 쯤은 SVN 또는 TFS(Team Foundation Sever)과 같은 것을 과거에 이용해 봤을 것 같다는 생각이 드네요. 이런 분들은 Git에서 하는 방식에 대해서 기존과 차이점을 찾아가면서, 크게 어렵지 않게 익힐 수 있을 것 같습니다.
하지만 초보자라면? Commit, Branch, Conflict, Release?
앞서 설명한 바와 같이 이 책은 시나리오를 기반으로 Git, GitHub를 소개합니다. 초보자들이 알아야할 것은 용어입니다. 프로그램을 같이 여러명이 만들기 위해서는 기본적으로 관리체계에 대한 용어가 익숙해야합니다. 신입사원들이 가장 많이 당황하는 것이 몰까요? 네 맞습니다. 모르는 용어가 나올 때 당황을 하게 됩니다. 사실 이를 잘 설명하는 방식을 선배인 저희들도 몸으로 익히다 보니 설명할 명쾌하게 못할 때가 많습니다.
그런데 이 책을 보면서, 아 ~ 이렇게 설명해 주면 되겠구나 하는 생각이 들었습니다. 그리고 나도 정확하게 알지 못하는 부분, 그냥 하다보니 그런줄 알고 쓰던 부분이 명확해 졌습니다. 이 책은 이런 용도에서 큰 도움을 줍니다.
3. 맺음말, 원리는 기본이다~
저자도 이런 이야기를 합니다.
"협업자가 늘어나면 자연스레 코드 충돌도 자주 발생하게 되는데, 그 때마다 등줄기에 식은땀이 흘렀습ㅈ니다. 말 그대로 '이해를 못한 체' 사용하고 있었으니 시나리오에서 조금만 벗어나도 버전 히스토리가 미궁에 빠졌습니다."
저도 사실 예전에 SVN을 사용할 때 이런적이 많았습니다. 히스토리 추적이 않되고, 컨플릭트를 해결하지 못하다가 나중에는 소스가 꼬여서, 다 날린 적도 있습니다.
하지만, 앞서도 설명했듯 매우 중요하지만, 중요하게 다루지 않고, 따로 별도로 공부를 해야하는데, 혼자 공부하기는 어려운 그런 것이 바로 소스관리입니다. 최근 여러가지 Git과 Github에 대해 책들이 발간되고 있습니다. 하지만, 많은 책들이 시나리오를 배재하고 기능을 중심으로 설명을 합니다. 그러나 이 Git과 Github는 특히 시나리오에 대해서 매우 잘 다뤄줘야합니다. 이 책의 저자는 이런 부분을 잘 공감해, 실무에서 맞닥뜨릴 내용들을 잘 풀어내주었네요 그러면서 원리를 충실히 이해시키려 노력한 부분이 이 책의 가장 큰 장점이라고 생각이 듭니다. 여러분들은 이런점들을 잘 숙지하면서, 이 책을 접하면 좋을 것 같습니다.