본문 바로가기
Git

[Git] git merge로 브랜치 병합하기 (8)

by 아마도개발자 2023. 12. 2.

 

 

 개발을 하다보면 내가 작업중인 브랜치에 다른 브랜치 내용을 가져오거나, 내 브랜치 작업 내용을 master브랜치에 병합하는 등 개발내용을 합쳐야되는 순간들이 있다. 그럴 때 이용하는것이 git merge이다. 하나의 사례를 예로 들어보자.

 

내 개인 브랜치에서 작업을 진행하 던 중, 중요한 문제가 발생하여 hotfix를 먼저 만들어야 되는 상황이 왔다고 가정하자. 이럴 경우 우선 현재 운영중인 운영 브랜치로 작업 브랜치를 옮긴 뒤, 운영 브랜치에서 분기한 hotfix브랜치를 새로 만들 것이다. 이 hotfix브랜치에서 장애를 해결 한 뒤, 테스트를 마치고나면 그 수정내용을 운영 브랜치에 반영하기 위해 운영 브랜치에 merge를 할 것이다. 이후 다시 원래 작업하던 브랜치로 옮겨가 하던 작업을 진행하는 것이 git merge flow의 정석이라 할 수 있다.

 

깃 그래프를 통해 다시 살펴보자.

 

운영 브랜치를 master, 현재 기능을 개발하고 있는 브랜치를 new라고 하자. 그런데 현재 운영 브랜치에서 버그가 발생하여 빠르게 hotfix가 필요하다. 버그를 해결하기 위해 운영브랜치에서 hotfix브랜치를 우선 분기한다.

 

 

이렇게 master 브랜치와 같은 위치에 hotfix브랜치가 생성된 것을 볼수 있다. 여기서 ex4.md파일에 문제가 있어 수정이 필요하다고 가정하겠다. 우선 ex4.md파일의 내용을 수정하고 다시 커밋을 해준다.

 

 

현재 hotfix 브랜치는 버그가 수정된 최신 커밋을 가리키고 있다. 이 수정내용이 master에도 반영이 되어야 하기 때문에 master브랜치에서 hotfix 브랜치를 merge하도록 하자.

 

$git merge hotfix     # 주의! master브랜치에서 hotfix브랜치를 병합하는 것이다.

 

 

결과를 확인해보면 위 이미지와 같이 master브랜치가 hotfix와 같은 커밋을 가리키고 있는 것을 확인할 수 있다. 이렇게 같hotfix의 수정내용이 master에 정상반영 된 것을 확인한 뒤, 다시 new브랜치로 이동하여 작업을 진행하면 된다.