브랜치를 생성했다면 프로젝트를 변경하기 전, 본인이 어떤 브랜치로 작업을 하고 있는지 꼭 확인을 해야 한다. 이번 포스팅에서는 다른 브랜치에서 작업한 내용을 합치는 방법에 대해서 포스팅해보려고 한다.

상황 정의
브랜치를 생성해서 작업을 하고 있는데, 해당 작업이 다른 브랜치에도 적용이 되어야 한다는 사실을 알았다. 다른 브랜치로 이동을 해서 동일한 작업을 반복해도 상관 없겠지만, 그런 번거로움 없이 기존의 작업 내용을 그대로 반영하는 방법이 있다. 이것을 브랜치 머지(branch merge)라고 한다. 머지(merge)는 영어로 '병합하다'의 의미를 가지고 있다.
브랜치 머지(branch merge)하는 방법
브랜치 머지를 실행하는 명령어는 아래와 같다.
git merge 브랜치명
# 현재 위치의 브랜치에 '브랜치명'을 반영해달라
# 다른 브랜치를 현재 브랜치로 가져오는 것이므로 커맨드 사용 전에 브랜치 이동이 필요할 수 있음
[예제로 알아보기]
main 브랜치에서 프로젝트 작업을 한 후에 Staging Area로 옮기고 commit을 했다. 그런데 main 뿐만 아니라 다른 브랜치인 premium 브랜치에도 해당 사항을 적용해주어야 한다는 사실을 깨달았다.

그래서 git checkout 명령어를 이용하여 작업 브랜치를 premium으로 바꿔 주었다.

그 다음 'main의 작업 내용을 현재 브랜치에도 반영해달라'는 의미의 git merge main 명령어를 실행했다. 그러면 새로운 화면으로 이동하는데 :qw 엔터를 입력하여 머지(merge)를 완료하면 된다. 이걸 캡처를 했어야 되는데 정신이 없어서 못했...OTL
- 추가로 머지할 사항이 없을 때에는 'Already up to date.' 라는 메세지가 뜬다.

- 한번 머지를 하고 나면 두번째부터는 화면이 바뀌지 않고 빠른 머지가 되는 모양이다. (이거 정확히 아시는 분 계시면 댓글 부탁드립니당)

머지를 마치고 난 후에 작업한 내용이 잘 반영되어 있는지 확인했다. 기억해야 하는 명령어들이 많아져서 조금 헷갈리는데, 그럴 때 블로그에 포스팅해 둔 내용을 보면 한 눈에 들어오니 좋은 것 같다. 그럼 오늘의 공부도 끝!
[Merge] HEAD가 가리키고 있는 커밋 버전에 다른 브랜치가 가리키던 커밋 버전을 합쳐서 새로운 커밋을 만드는 작업
'개발 도구 > Git' 카테고리의 다른 글
머지 취소하기(git merge --abort) (0) | 2022.11.20 |
---|---|
컨플릭트(Conflict) 났을 때 해결하는 방법 (0) | 2022.11.19 |
맥북 업데이트 후에 git 에러 해결방법(xcrun error) (0) | 2022.11.15 |
브랜치(branch)는 무엇인가? 어떻게 사용해야할까? (0) | 2022.11.14 |
중요한 커밋(commit)에 태그(tag)넣는 방법 (0) | 2022.11.09 |
댓글