개발 이야기/Git

[GIT] git branch란? - 작업을 분기하는 방법

제이온 (Jayon) 2020. 11. 28.

 

 

안녕하세요? 코딩중독입니다.

 

저번 시간에는 git log와 git diff에 대해서 알아 보았습니다.

 

이번 포스팅에서는 git branch가 무엇인지 설명하겠습니다.

 

 

branch는 무엇일까?

git branch 명령어를 알기 전에 branch의 의미를 알아야 합니다.

 

 

 

 

네이버 영어 사전을 기준으로 branch는 나뭇가지, 지사 또는 갈라지다라는 뜻을 지니고 있습니다.

 

어느 뜻이든 괜찮습니다. 모두 처음 뜻인 나뭇가지를 기반으로 나온 의미들이니까요. 

 

 

branch의 구체적인 정의를 먼저 설명하기보다는 일단 사례를 통해 느낌을 잡아 봅시다.

 

저는 GIT의 첫 번째 글에서 버전 관리를 설명한 적이 있는데요, 거기서 다룬 예시를 조금 응용해서 다뤄보겠습니다.

 

이번에도 교양 보고서를 작성해야하는데 개인이 아닌 팀 프로젝트라고 가정해 봅시다.

 

그리고 팀플 주제가 "개발자의 이모저모"라 하고, 개발자의 전반적인 내용을 담은 보고서를 작성하였습니다. 이 문서는 개발자의 종류, 전망, 연봉 등등 무슨 내용이 들어갈지 틀을 잡았다고 생각하시면 됩니다.

 

 

 

 

이제 이 문서를 가지고, 위에서 틀을 잡아 놓은 종류, 전망, 연봉에 대한 내용을 따로 따로 작성할 수 있습니다. 이를테면, 아래 사진과 같습니다.

 

 

 

 

자, 이렇게 공통 보고서로부터 2개의 가지가 생겼습니다. 그리고 공통 보고서에서도 버전 관리를 할 수 있고, 종류와 전망 보고서에서도 버전 관리를 독자적으로 할 수 있습니다.

 

또한, 마지막에는 종류와 전망에 대한 보고서를 공통 보고서에 합칠 수도 있습니다. 이를, 병합이라고도 합니다.

 

 

즉, git에서 branch는 만들어 놓은 버전의 복사본을 새롭게 생성하여 작업을 이어나가는 것정도로 이해하시면 되겠습니다. 

 

 

git branch

(1) branch 확인하기

이전 시간까지는 gitProject 폴더에서 작업하였는데, 이제부터는 새로운 폴더를 만들어야 합니다.

 

적당히 gitProject2 폴더를 새로 만들고 거기서 git init을 하겠습니다.

 

그리고 test.txt 파일을 하나 만들어서 내용은 a라고 하고, git add와 git commit을 하겠습니다. 여기서 commit 메시지는 ver.1로 해 주세요.

 

그런 다음, git branch라고 입력해 봅시다.

 

 

 

 

현재 git의 branch 목록을 보여주는 명령어입니다. 처음, init을 하게 되면 master라는 기본 branch를 생성해 줍니다. 그리고 master 왼쪽에 * 표시가 있는데, 이것은 현재 사용중인 branch를 뜻합니다.

 

 

(2) 새 branch 만들기

새롭게 branch를 만들어 봅시다.

 

git branch (브랜치 명)을 입력하면 됩니다. 저는 git branch exp 라고 입력해 보겠습니다.

 

 

 

 

다음과 같이 master 브랜치 위의 exp 브랜치가 생겼음을 알 수 있습니다.

 

 

(3) 다른 branch로 이동하기

이제, master 브랜치에서 exp 브랜치로 이동해 봅시다.

 

이때, 사용되는 명령어는 checkout입니다. git checkout exp 라고 입력해 봅시다.

 

 

 

 

다음과 같이 * 표시가 master에서 exp로 바뀌었음을 알 수 있습니다.

 

 

(4) branch 삭제하기

이번에는 브랜치를 삭제해 봅시다. 명령어로는 git branch -d (브랜치 명)을 사용하는데, 현재 사용중인 브랜치는 삭제할 수 없습니다.

 

일단, master 브랜치로 이동한 후 exp 브랜치를 삭제하겠습니다.

 

 

 

 

다음과 같이, exp 브랜치가 성공적으로 삭제되었습니다.

 

 

정리

여기까지 브랜치에 대해 간략하게 알아 보았습니다. git의 최대 장점으로 불리는 브랜치, 꼭 잘 알아두셨으면 좋겠습니다.

 

다음 시간에도 브랜치에 관한 포스팅을 다뤄보겠습니다.

 

 

참고 사이트

opentutorials.org/course/2708

 

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

이 수업은 GITn 시리즈로 완전히 대체 되었습니다. GITn은 보다 많은 내용을 작은 단위로 쪼개서 선택적으로 공부하실 수 있도록 제작된 수업입니다. 아래 주소를 통해서 GITn 을 접할 수 있습니다.

opentutorials.org

 

 

 

 

댓글

추천 글