본문 바로가기
github

[github] GitHub의 branch 기본 개념 쉽게 정리해보자.

by 느링 2020. 7. 23.

github의 branch에 대해 제가 이해한 내용을 바탕으로 설명해 드리겠습니다.

혹시 틀린 부분이 있다거나 덧붙일 내용이 있다면 댓글로 설명해주시면 감사하겠습니다.

 

저는 깃허브의 브런치에 대한 개념이 가장 이해하기 힘든 부분이었습니다.

이론적으로 설명을 들으니 개념이 잘 잡히지 않더라고요.

실제로 제 프로젝트로 연습을 해보면서 브런치를 사용해보았습니다.

백번 이론을 듣는 것보다 직접 제것으로 연습을 해보니 한번에 이해가 가더라고요.

브런치는 아주 유용한 기능이었습니다.

 

제가 이해한 브런치 개념은 이렇습니다.

먼저 branch에 대해 개념을 이해하기에 앞서 branch 단어에 대한 뜻을 먼저 알아보고 가시면

개념 이해하는데 큰 도움을 얻으실 수 있습니다.

branch는 단어 그대로 나뭇가지라는 뜻입니다.

중심이 되는 줄기에서 사방으로 뻗어나가있는 나뭇가지를 생각하시면 될 것 같아요.

깃허브에 브런치도 같은 개념입니다.

브런치를 만든다는 것은 한 프로젝트라는 중심이 되는 줄기안에 독립적인 나뭇가지(브런치)를 만드는 것입니다.

 

간단한 예를 들어보겠습니다.

여러 사람이 한 프로젝트를 한다고 가정해봅시다.

공통 프로젝트에서 A작업을 한 뒤에 팀원1이 'A작업'으로 커밋을 했습니다.

팀원2가 동일한 부분에 다른 버전으로 작업을 하고 싶습니다.

이때 브런치를 사용해 가지를 뻗어줍니다.

'A작업' 커밋 이전 시점에서 독립적인 프로젝트를 생성합니다. (브런치 생성)

그리고 새로 생성한 브런치에서 팀원2가 B작업을 한 뒤에 커밋을 합니다.

그러면 팀원1이 작업한 A작업도 살아있고 팀원2가 작업한 B작업도 살아있게됩니다.

두개의 프로젝트가 생성하게 된 것이죠.

그럼 이렇게 처음에는 공통적인 줄기를 가지고 시작합니다.

그리고 독립적인 프로젝트를 생성하여 여러 줄기를 뻗어나갈 수 있는 것이지요.

 

직접 vscode에서 브런치 생성하는 작업을 보여드리겠습니다.

 

1. git log로 커밋 내역들을 확인합니다.

 

2. 

git branch main2를 통해 저는 main2 branch를 생성해주었습니다.

git branch -v를 통해 branch 목록들을 확인할 수 있습니다.

여기서 *표시가 중요합니다.

*표시는 현재 내가 위치하고 있는 프로젝트 입니다.

저는 이제 새롭게 생성한 main2 branch로 사용할 것이기 때문에 main2로 들어가야합니다.

git checkout main2로 이동할 수 있습니다.

다시 -v로 확인해주시면 위치가 바뀌어 있는 것 보이시죠?

그리고 마지막으로 git push origin main2로 git주소에 main2 브랜치 push를 해주셔야합니다.