brunch

You can make anything
by writing

C.S.Lewis

by 토미 May 09. 2024

책 소개

책 소개

이 책은 현재 시중에서 판매되고 있는 "토미의 Git with 소스트리" 라는 책을 온라인으로 공유한 것입니다. 이 책을 통해 Git을 보다 쉽고 편하게 사용하는데 도움이 되면 좋겠습니다. 책에 대한 더 자세한 정보는 이 영상을 참고하세요.


책 리뷰

GIT의 시작과 끝

GIT의 내부 구조를 시작으로 해서 이렇게 속 시원하게 GIT을 설명해 준 책은 없었다. GIT을 쓰면서 항상 동작 방식에 대한 갈증이 있었는데, 친절한 설명과 함께 책의 구성방식이 너무 좋았다. GIT 책의 시작과 끝이라고 감히 말하고 싶다. -YES24 m*******j님 리뷰 중-
단순하게 몇몇 기능 따라 하기에 그치는 후잡한 국내 git 책 보지 말고 알아야 할 원리, 개념들 잘 설명한 이 책 보시길.. -YES24 f****3 리뷰 중-
다른 git 책들 많이 읽어보았는데, 꼭 필요한 내용들이
다 포함되어 있으면서도 깊이가 있어서 좋았습니다. -알라딘 리뷰 중-


책 구매


책을 종이로 읽고 싶으시거나 통합된 하나의 PDF로 읽고 싶으신 분은 아래 링크를 통해 구입할 수 있습니다.

종이책 (흑백)

YES24

알라딘

교보문고


전자책 (컬러)

YES24

알라딘

교보문고


감사의 글

이 책이 나오기까지 많은 분이 도움을 주셨습니다.


먼저 사랑하는 아내 김보미에게 감사를 전합니다. 제 영혼의 친구이자 든든한 반려자인 아내의 도움 없이는 이 책은 나올 수 없었을 것입니다. 책 쓴다고 집안일을 소홀이 할 때도 있었고 피곤해하며 힘들어하는 모습을 보일 때도 있었는데, 그럴 때마다 아내는 제 부족함을 감싸주고 지지해 주었습니다. 아내에게 진심으로 고맙다는 말과 아끼고 사랑한다는 말을 전하고 싶습니다.


이 책의 마무리 단계에서 많은 분이 원고를 읽고 의견을 주셨습니다. 김도현, 김태훈, 이종우, 전영진. 이분들의 소중한 의견을 통해 다양한 오자를 수정했고, 책 내용을 일관성 있고 더 이해하기 쉽도록 수정할 수 있었습니다. 바쁘신 가운데서도 제 리뷰 부탁에 흔쾌히 응해 주시고 귀한 시간과 마음을 써주신 이분들께 진심으로 감사드립니다.


마지막으로 하나님께 감사드립니다. 이 책을 쓰는 건 하나님께서 제게 주신 사명이었습니다. 능력 없고 부족한 제게 이런 귀한 사명을 주시고 사명을 완수할 수 있도록 지혜와 건강을 허락해 주신 하나님께 감사드립니다.


지금 가장 크게 드는 마음은 감사와 후련함입니다. 무거운 마음의 짐을 1년 넘게 짊어지고 있다가 이제 내려놓을 수 있다고 생각하니 후련합니다. 이제는 이 짐은 벗어두고 곧 태어날 첫째 예하를 돌보는 데 힘을 쏟을 수 있을 것 같아 기쁩니다.


Git을 이해하며 제대로 사용하고자 하는 분들께 이 책이 도움이 되길 바랍니다. 고맙습니다.


2022년 4월 17일


어느 일요일 저녁 저자 계 주 성


이 책을 읽는 법

이 책은 두 개의 파트로 구성돼 있습니다. 파트I(챕터1-4)에서는 Git의 기본 개념에 대해 설명했습니다. 파트II(챕터5-끝)에서는 Git의 여러 명령을 사용하는 방법에 대해 설명했습니다.


이 책을 반드시 처음부터 읽을 필요는 없습니다. 파트의 각 챕터는 독립적으로 구성돼 있어서 이미 잘 알고 있는 내용은 건너뛰고 읽고 싶은 챕터를 선택해 바로 읽어도 이해하시는데 무리가 되지 않습니다. 다만 파트I에서 설명한 Git의 전반적인 구조와 기본 개념은 파트II의 내용을 정확하게 이해하는데 중요한 기반 지식이 되기 때문에 가능하면 파트I은 먼저 읽어 보시는 것을 추천드립니다.


챕터의 구성은 인트로, 개요, 명령의 정의와 설명, 소스트리에서 사용하기, 정리 순으로 돼 있습니다. 설명은 이해가 쉽도록 그림을 최대한 활용했습니다. 소스트리에서 사용하기에서는 명령 실행의 각 단계별로 스크린샷을 첨부해 따라 하기 쉽도록 구성했습니다. 마지막으로 정리에서는 챕터에서 알아본 내용을 요약해 챕터의 핵심 내용을 다시 한번 확인하고 넘어갈 수 있도록 했습니다.


챕터의 내용은 크게 이론과 실습으로 나누어집니다. Git을 잘 사용하기 위해서는 이론만 잘 아는 것을 넘어 실제 잘 사용할 수 있어야 합니다. 잘 사용하기 위해서는 많이 써봐야 합니다. 그렇기 때문에 가능하면 책에 나와 있는 실습을 직접 따라서 수행해 보시기를 추천드립니다. 테스트용 저장소를 생성해 망가뜨리기도 하고 실수도 하며 여러 명령을 실행하다 보면 어느새 Git을 사용하는데 자신감을 갖게 되시리라 생각합니다. 책의 명령이 너무 많아 전부 따라 해 보기가 어렵다면 리베이스, 리버트, 리셋 이 세 가지 명령만이라도 충분히 연습해 사용 방법을 익혀두시길 권해 드립니다. 특히 리버트와 리셋은 변경 사항을 되돌리는 방법으로 이 명령이 무엇이고 어떻게 사용하는지만 확실하게 익혀두신다면 중간에 어떤 실수를 하더라도 대부분의 작업을 안전하게 복원할 수 있을 것입니다.


이 책의 대상 독자

이 책은 다음에 해당하는 분들을 위해 쓰여졌습니다.


1. Git을 처음 접하시는 분


2. Git을 제대로 알고 싶으신 분  

브랜치의 정의

머지와 리베이스의 차이

리셋과 리버트의 차이

머지시 충돌 발생 이유와 해결 방법

로컬저장소와 원격저장소

원격저장소 추적 브랜치

잃어버린 커밋 복원하기


3. Git의 내부 구조를 알고 싶으신 분  

Git이 어떤 객체로 구성돼 있는지

저장소의 구조와 역할

커밋의 해시는 어떻게 생성되는지


4. Git을 더 잘 활용하고 싶으신 분  

레프로그

리베이스를 사용한 풀

패치

어멘드


저자의 글

제가 Git을 처음 알게 된 것은 2015년입니다. 이후 Git을 쭉 사용해 오다 2019년 Git을 제대로 알고 싶다는 생각을 하게 됐습니다. 당시 저는 Git을 사용한 지 4-5년이 지났지만, 실무에서 자주 사용하는 명령어만 사용할 줄 알았을 뿐, Git에 대해 제대로 알지는 못하는 상황이었습니다. 이 상태로 Git을 사용하는 것은 평소에는 문제가 없었지만, 예상치 못한 문제가 발생했을 때 그 문제를 자신 있게 해결하지 못했습니다. 이런 상황이 지속해서 반복되는 것을 보게 돼 저 자신이 부끄러웠습니다. 이래선 안 되겠다 싶어 시간을 내서 Git에 대해 제대로 알고 넘어가야겠다고 결심했습니다.


Git에 대해 공부하기로 결심한 후, 여러 책을 찾아보았지만 제가 원하는 책은 찾을 수 없었습니다. 제가 원했던 책은 명령어에 대한 설명 위주가 아니라, Git의 핵심을 쉽고 짧게 설명한 책이었습니다. 명령의 실행은 CLI(Command Line Interface) 환경이 아니라 소스트리에서 어떻게 사용하는지에 대한 설명이었으면 하는 바람도 있었습니다.


제가 원하는 책을 원하는 사람이 더 있을 것 같아서 이런 책을 제가 직접 써보기로 결심했습니다. Git의 핵심적인 내용을 쉽고 짧게 설명하기 위해 여러 자료를 참고했습니다. Git을 개 발한 리누스 토발즈(Linus Torvalds)의 2007년 구글 테크톡에서의 Git 소개 영상을 비롯해 Github의 공동 창업자이자 Pro Git 책의 공동 저자인 스캇 샤콘(Scott Chacon)의 여러 강의와 책, 20권 이상의 Git 책과 강의 슬라이드, Git 개발 코드에 포함된 매뉴얼, 스택오버플로우 등이 참고한 자료입니다. Git을 공부하면서 정확히 이해되지 않는 부분이 생기면 그 부문을 끝까지 추적해 확실히 이해했습니다. 이해한 내용은 어떻게 하면 쉽게 전달할 수 있을지 전달 방법을 고민했습니다. 책에 담은 내용도 자주 사용하고 핵심적인 내용이라고 생각하는 부분을 선별했습니다. Git에 대한 내용 중 이 책에 담겨있지 않은 부분도 있지만, 이 책에 나와 있는 기본적인 지식을 확실히 이해한다면 다른 내용의 이해는 그렇게 어렵지 않을 거라 생각합니다.


이 책은 이런 저의 의도와 고민이 담긴 책입니다. 제가 의도한 대로 이 책이 Git을 이해하는데 도움이 된다면 저자로서 더없이 기쁠 것 같습니다. 이 책이 어떤 분께 도움이 되는지에 대한 내용은 바로 뒤에 적어 두었습니다. 아직 이 책을 읽어야 할지 말아야 할지 고민이 되는 분은 몇 분의 시간을 더 사용해 그것을 판단하는 데 사용하시기 바랍니다.

작가의 이전글 글을 시작하며
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari