본문 바로가기

Dev Book Review

[서평] Do it 지옥에서 온 문서관리자 깃&깃허브 입문

이지스퍼블리싱 서평단으로 선정되어 작성한 글입니다.

 

1. 서평단을 신청하게 된 이유

지금은 사라졌지만 2년 전 생활코딩의 지옥에서 온 깃 강의를 조금이나마 들은 적이 있다.

하지만 역시 깃은 프로젝트를 하면서 부딫히면서 시도하다 보니 git reset --hard 도 잘못해보고 소스코드도 날려보면서  어느새 깃이 두렵지 않아졌다.

그러나 학교에서 팀플을 하거나 할 때 동기들은 git을 이용하지 않고 카카오톡으로 복사 붙여 넣기를 하면서 소스코드를 전달하곤 했다.

그래서 나는 대학생들이 git을 좀 더 잘 사용했으면 해서 발표를 통해 친구들에게 깃을 사용하는 방법을 알려주려 하였다.

그래서 생각한 첫번째 방법이 DSC Ewha에서 깃 세미나를 여는 것이었는데, 아무래도 초보자의 눈높이에서 설명하기가 어려웠다.

그래서 신청을 하게 되었다! 초심자의 눈에서 깃을 다시 바라보기 위해서

 

2. 책에 대한 정보

 

여기서 가장 주목할 점은 이고잉님이 저자라는 것이다.

이고잉님이 진행하는 생활코딩의 git 강의를 바탕으로 제작한 책으로 아래의 강의인 지옥에서 온 깃을 참고해서 기초적인 내용을 엄선한 책이었다.

https://opentutorials.org/course/2708

 

지옥에서 온 Git (새 수업으로 대체) - 생활코딩

이 수업은 GITn 시리즈로 완전히 대체 되었습니다. GITn은 보다 많은 내용을 작은 단위로 쪼개서 선택적으로 공부하실 수 있도록 제작된 수업입니다. 아래 주소를 통해서 GITn 을 접할 수 있습니다.  GITn의 입구수업 : https://opentutorials.org/module/3733 지식지도 : https://seomal.org/?i=GIT1 수업소개 이 수업은 Git의 초심자에게는 기본적인 사용법을 중급자는 Git이 동작하는 원리를 소개해드

opentutorials.org

근데 생활코딩을 들어가 보니 이제는 지옥에서 온 git이 아니라 GIT이라는 분류로 들어간다 한다. GITn의 메뉴를 보니, 버전 관리, 브랜치&Conflict, Backup, 협업, Cherrypick&rebase라는 소 분류로 나누어 원하는 부분만 골라 들을 수 있게 되었다.

https://opentutorials.org/course/3838

 

GITn - 생활코딩

생활코딩 > 프로젝트 관리 > GITn GITn 2019-06-27 10:50:18 챕터를 드래그앤드롭해서 위치를 이동시켜 주세요. 저장 취소

opentutorials.org

 

3. 책의 설명 방식

독자들이 책의 설명을 따라 커맨드를 하나하나 따라쳐보면서 그 커맨드를 습득하는 방식의 설명을 택하고 있다.

이때 인상깊었던건, Git Bash에 뜨는 stage과 관련한 설명들도 하나하나 짚어서 설명해주고, 각각의 경우에 어떤 커맨드를 치면 이 설명이 바뀌는지 등등을 자세히 설명해 두었다!

아래 사진이 가장 인상 깊었던 설명이었는데, unstracted file을 보는 방법을 git bash에서 나오는 설명과 대응시키면서 글로 서술하고 있다.

이런 방식의 설명이기 때문에, 사실 책 자체도 글이 많지 않고 오히려 실습을 유도하는 책이라서 책 한 권의 명령어를 그대로 따라 치면서 습득하다 보면 merge나 reset까지는 잘 모르겠지만 아무래도 많이 쓰는 커맨드인 add와 commit을 이용한 버전 관리는 기본으로 할 수 있을 정도가 될 것 같다.

 

4. 책을 통해서 얻어갈 수 있는 것

크게는 세가지를 얻어갈 수 있다.

1. 버전관리 (add commit reset revert)

. git 파일을 init 하여 내 로컬 저장소를 세팅하고, 나의 로컬 저장소를 바탕으로 내가 작성한 코드의 버전을 관리할 수 있다. 깃과 관련해서는 엄청 유명한 말이 있다. 

최종, 정말 최종, 진짜 진짜 최종, 진짜로!! 최종, 마지막 최종...

그동안 이렇게 같은 내용의 파일을 이름만 바꿔서 여러개의 버전을 만들곤 했다 하지만 git을 이용한다면 하나의 파일 안에 내 파일의 모든 버전이 들어가 있게 할 수 있다! (이러기 위해서는 꼭. git 파일을 지우거나 하면 안 된다는 걸 명심) 그리고 현재의 내 파일을 옛날 버전으로 되돌릴 수도 있다!

2 깃허브 백업 (push pull fetch)

내가 깃으로 버전관리한 파일일을 실제로 웹에 google drive처럼 저장을 해두는 방법을 알려준다. 원격 저장소인 repository에 내가 버전 관리한 소스코드를 올림으로써 다른 컴퓨터에서도 내가 버전 관리한 파일을 내려받아 작업을 할 수 있게 해 준다.

3. 협업 (branch merge)

개발자들이 깃을 사용하는 이유라고 볼 수 있다. 개발자들이 각기 다른 내용을 작업하고(branch), 이것들을 실제로 한 코드에 합치는 방법(merge)에 대해 기초적으로 설명해 준다. 

아래 그림이 깃을 이용한 협업에 대해 가장 잘 나타내 주는 것 같다.

추가. 유용한 각종 지식들

위 세 가지 큰 주제의 내용 외에도, 깃을 깃처럼! 깃을 좀 더 개발자처럼 사용할 수 있도록 도와주는 주제들이 있다.

  • 리눅스 명령 연습 : 깃 배시를 사용하기 위해 cd, mkdir 같은 기초적인 리눅스 명령을 알려준다.
  • 깃허브 프로필 관리하기 : 깃허브 사이트에 대한 간략한 설명을 담고 있다.
  • README파일 작성 : 각 레포지토리의 대문과 같은 README 파일 작성을 위한 MD(Markdown) 사용법을 알려준다.
  • github.io 만들기 : 간단하지만 스스로 html 파일을 넣거나 jekyll을 이용해서 깃허브 개인 블로그를 만드는 방법을 소개한다
  • 오픈소스 프로젝트 기여 : 오픈소스 프로젝트에 Pull Request를 날려 한글 번역, 오탈자, 소스 수정 등의 기여방법을 알려준다.

따라서 내가 깃에 대해 모르는 것들이 1, 2, 3에 속하는지를 판단한 후에 이 책을 구입하면 좋을 것 같다. (가장 좋은 방법은 목차를 보는 것!)

01장 깃 시작하기
01-1 지옥에서 온 관리자, 깃
01-2 깃 설치하기
01-3 리눅스 명령 연습하기
01장에서 꼭 기억해야 할 명령
02장 깃으로 버전 관리하기
02-1 깃 저장소 만들기
02-2 버전 만들기
02-3 커밋 내용 확인하기
02-4 버전 만드는 단계마다 파일 상태 알아보기
02-5 작업 되돌리기
02장에서 꼭 기억해야 할 명령
03장 깃과 브랜치
03-1 브랜치란?
03-2 브랜치 만들기
03-3 브랜치 정보 확인하기
03-4 브랜치 병합하기
03-5 브랜치 관리하기
03장에서 꼭 기억해야 할 명령
04장 깃허브로 백업하기
04-1 원격 저장소와 깃허브
04-2 깃허브 시작하기
04-3 지역 저장소를 원격 저장소에 연결하기
04-4 원격 저장소에 올리기 및 내려받기
04-5 깃허브에 SSH 원격 접속하기
04장에서 꼭 기억해야 할 명령
05장 깃허브로 협업하기
05-1 여러 컴퓨터에서 깃허브 저장소 함께 사용하기
05-2 원격 브랜치 정보 가져오기
05-3 협업의 기본 알아보기
05-4 협업에서 브랜치 사용하기
05장에서 꼭 기억해야 할 명령
06장 깃허브에서 개발자와 소통하기
06-1 깃허브 프로필 관리하기
06-2 README 파일 작성하기
06-3 오픈 소스 프로젝트에 기여하기
06-4 깃허브에 개인 블로그 만들기
실무 밀착 꿀팁!

비주얼 스튜디오 코드에서 
깃 활용하기


찾아보기
 

 

5. 권장 독자층

요약하자면 깃을 처음 접해보는 사람이 읽기에 좋은 책이다.

깃으로 commit을 해서 잔디를 찍을 수 있다 하는 사람들의 경우엔 내용을 휙휙 읽어버리기 좋다는 생각이 들었다. (본인이 그랬음)

그렇기 때문에 이 책으로 많은 걸 얻어가고 싶다면 무조건 깃을 처음 써보는 사람이거나 깃에 대한 감이 안 잡힌 사람이 읽기에 좋다!

 

6. 마무리

서평단에 처음 선정이 되었는데, 이지스퍼블리싱은 개발 서적에 있어서 사람들에게 챌린지를 많이 시키는 것 같다.

서평단 말고도  책 한 권을 정하고, 팀을 모아서 책을 바탕으로 공부한 내용을 꾸준히 올리면 책을 제공하는 프로그램을 운영하는 것으로 알고 있다.

이렇게 개발 생태계에 기여하는 프로그램을 운영하는 것 초심자들이 Do It 시리즈를 많이 선택하고, 베스트셀러가 되는데 일조하는 것 같다는 생각이 들었다.

이번에는 나가 아는 주제로 책을 골라 서평을 썼지만, 다음에는 내가 모르는 분야의 책 서평을 도전하면 내 스스로가 많이 얻어갈 수 있는 기회가 될 것 같다. 서평 끝~~!!!