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


팀 개발을 위한 Git GitHub 시작하기


프로그램을 개발하면서 써야하는 버전관리 프로그램이 바로 git 이다.

이전에는 svn, cvs로 버전관리를 했었다.

git이 나타나서 사용한지는 꽤 되었는데 아직까지도 어렵고 어색하다.

그중에서 제일 자주 쓰는 것은 기초 명령어다.

git clone, git add, git commit, git push, git pull 이다. 

이외에는 요즘 사용하는 것은 git commit 시에 추가로 더 넣는 amend 정도?

무엇인가 소스코드 버전관리를 위해서 git을 제대로 배워본적은 없었던 것 같다.

그래서 이번 기회에 팀 개발을 위한 Git GitHub 시작하기로 차근차근 따라하고 배웠던 것 같다.


Chapter0

우리는 버전관리에 대해서 알아야 한다.

작업을 하면 버전을 올리고, 올린 버전에 문제가 있으면 이전 버전(시점)으로 돌아가는 것이다.

그렇게 도와주는 툴이 버전관리 시스템이다.

우리가 사용할 수 있는 Git 호스팅 사이트(GitHub.com, GitLab.com, BitButcket.org)를 소개한다.

그리고 GitHub 가입하고, Git 설치하고 로컬저장소에서 커밋 관리, GitHub 원격저장소에 커밋 올리는 것에 대해서 알려준다.

Git명령어를 통해서 커밋을 만들고, 원격저장소에 올리는 것까지 따라서 해볼 수 있다.


Chapter1

Chapter0에서는 터미널에서 명령어를 통해서 작업하는 법을 알려줬는데, 이번장에서는 버튼을 클릭하고 그래프로 보고 따라할 수 있는 GUI(Graphic User Interface)환경에서 따라 할 수 있도록 알려준다.

책에서는 사용하는 환경이 windows라 맞는 환경이라면 따라서 해볼 수 있다.

소스트리, 비주얼 스튜디오 코드를 설치하고 따라해 볼 수 있다.

하지만 나는 주로 사용하는 환경이 linux라 보기만 하고 넘어간다.


Chapter2

이 장에서는 로컬저장소를 소스트리에 불러오고, 커밋을 만들어서 푸시하는 것까지 따라할 수 있다.

그리고 그림으로 Git을 뜯어서 분석해본다.

여기서 Clone, Add, Create와 같은 메뉴 모두 소스트리에 저장소를 추가하는 방법으로 설명을 함께 하고 있다.

그리고 Git bash창에서 명령어를 입력해서 작업했던 것들을 편리하게 GUI를 통해서 따라할 수 있도록 함께 매칭하여 설명을 해준다.


Chapter3

Chapter2에서는 혼자서 작업을 했다면,

Chapter3에서는 함께 협업하는 작업을 한다.

Git이라는게 함께 작업을 하고 코드를 관리하는 것이기에 동시에 작업을 하고 올라가서 충돌이 나는 상황이나 우리가 실제로 작업할 때 나는 오류에 대해서 대응하고 배울 수 있다.

그래서 Git이 커밋을 관리하는 방식과 브랜치를 만들고, 이동하는 명령어(branch, checkout), 병합하는 명령어(merge), 충돌이 났을 때 해결하고 풀 리퀘스트(Pull request), 릴리즈(release)에 대해서 설명을 한다.

이러한 상황을 그림으로 표현해주니 더 이해하기 좋았다.


Chapter4

이번장에서는 GitHub에 공개되어 있는 서비스를 컨트리뷰터(Contributor, 기여자)로 참여하는 과정에 대해서 알려준다.

컨트리뷰터는 소스코드를 수정하고 올릴 수 있는 권한이 없기에

원본저장소를 복사해서 원격저장소를 만들고(fork), 소스트리를 통해 로컬저장소로 가져오고(clone), 원격저장소에서 원본저장소로 풀 리퀘스트를 보내고(pull request), 승인하고 병합(merge) 후 새 커밋으로 이력을 조작하는(rebase)를 과정을 거친다.

오픈 소스를 내가 작업을 한 후에 올린다는 것은 코드에 기여를 할 수 있다는 것으로 뭔가 뿌듯하고 나의 경험치와 능력치가 플러스 된다는 장점이 있다.


Chapter5

실무 사례에서 쓸 수 있는 명령어를 알려준다.

내가 가장 자주 쓰는 마지막 커밋 수정하기(amend), 원하는 커밋만 떼서 현재 브랜치에 붙이는(cherry-pick), 옛날 커밋으로 브랜치를 되돌리는(reset), 커밋의 변경사항을 명시적으로 되돌리는(revert), 변경사항을 잠시 따로 저장해두는(stash)

여기에 있는 명령어만 알아두어도 거의 절반이상은 알 수 있다.


Chapter6~Chapter12 에서는 CLI(command Line Interface)환경에서 명령어를 사용하는 것에 대해서 알려준다.

CLI는 터미널이나 명령어 같은 환경이다.

보통 Linux에서 사용하는 것으로 GUI환경에 익숙하다면 어렵겠지만,

나는 GUI보다 CLI에서 많이 사용하기 때문에 더 필요했던 Chapter였다.

Git을 사용하면서 궁금했던 에러들에 대한 질문도 있었고,

(git status 명령이 에러없이 실행되는 것, 왜 내문서폴더에 저장소를 만드는지, reset으로 스테이지 취소하기등)

우리가 확인해 볼 수 있는 명령어들(git log, git help status, git checkout master 등)을 통해서 따라해볼 수 있었다.


어렵다고만 생각했던 git과 검색하면서 찾아봤었는데,

책을 통해서 정리를 한번에 할 수 있었다.

GUI와 CLI로 보고 비교하면서 따라하니까 더 편하고 이해하기 쉬웠던 것 같다.

사실 기본개념이 어려운데, 그림이 있어서 좋았다.

책은 7일 완성 로드맵이라고 했는데, 정말 7일동안 따라서 보면 도움이 되고 금방 따라할 수 있다는 큰 장점이 있었던 책이다!

귀찮다고 생각하지말고, 책을 보고 따라하고 싶거나 도움이 되고 싶은 오픈 소스를 찾아서 해보면 정말 git을 이해하는데 좋을 것 같다.


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