개발 이야기/Git

[GIT] git branch란? - branch를 병합하는 방법

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

 

 

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

 

저번 시간에는 branch의 정보를 확인하는 방법을 알아 보았습니다.

 

이번 포스팅에서는 branch를 병합하는 방법에 대해서 설명하겠습니다.

 

 

branch 병합

우리는 저번 시간까지 독자적인 버전 관리를 수행하는 브랜치를 이해하였습니다.

 

그리고 이 브랜치는 다시 하나의 브랜치로 병합이 가능합니다.

 

먼저, 이전까지 수행한 작업을 git log git log --branches --graph --decorate --oneline를 입력하여 확인해 봅시다.

 

 

 

 

처음에 "ver.1"에 해당하는 commit 메시지가 전송되었었고, 이후에는 두 가지 브랜치로 나뉘었습니다.

 

master 브랜치는 ver.1, ver.2, ver.3를, exp 브랜치는 ver.1, ver.4, ver.5에 해당하는 히스토리 정보를 저장하고 있습니다.

 

이 때, master 브랜치와 exp 브랜치를 서로 병합하려고 하는데, 명령어로는 git merge (브랜치 명)입니다.

 

잘 생각해 보면, 무언가 병합을 하려고 하면 두 대상이어야 하는데 git merge (브랜치 명)을 보면, 브랜치를 하나만 입력 받습니다. 그렇다면, 현재 사용중인 브랜치가 자동으로 병합 대상이 된다는 것을 알 수 있습니다.

 

git checkout master를 입력하여 현재 브랜치를 master로 이동한 후 git merge exp를 입력해 보겠습니다.

 

 

 

 

다음과 같이, master 브랜치에는 존재하지 않는 test_4.txt와 test_5.txt가 생성되었음을 알 수 있습니다. 이것은 exp 브랜치에 있는 파일과 서로 합친 것이죠.

 

그리고 다시 git log --branches --decorate --graph --oneline 을 활용하여 브랜치 구조를 살펴봅시다.

 

 

 

 

상단에 exp 브랜치와 병합되었다는 메시지와 함께, 초록색 선으로 새롭게 commit이 이어진 것을 확인하실 수 있습니다.

 

 

 

 

그리고 당연하게도 exp 브랜치로 이동한 후, git log를 찍어보면 원래 있던 3개의 commit만이 출력됩니다. 병합은 master 브랜치 입장에서 이루어진 것이므로 exp 브랜치에는 영향이 끼치지 않는 것이죠.

 

만약, exp 브랜치도 master 브랜치처럼 ver.1 ~ ver.5까지의 commit 정보를 담고 싶다면 git merge master를 수행하면 됩니다.

 

 

정리

여기까지 브랜치를 병합하는 방법에 대해서 알아 보았습니다.

 

명령어 자체는 간단하고, 또 합친다는 개념이 마냥 낯설지는 않아서 이해하기 수훨하셨을 것입니다.

 

글은 여기까지 줄이고 다음 포스팅에서 뵙겠습니다.

 

 

참고 사이트

opentutorials.org/course/2708

 

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

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

opentutorials.org

 

 

 

 

댓글

추천 글