초보자가 하는 Git 브랜치 병합(Merge) 완벽 가이드

"Finished working on a feature branch? Learn how to merge it back into main, verify your changes, and safely delete remote branches on GitHub. A simple step-by-step guide to keeping your repository clean."

초보자가 하는 Git 브랜치 병합(Merge) 완벽 가이드

시작하며

개발을 하다 보면 새로운 기능 개발을 위해 main 브랜치에서 새로운 브랜치(예: mvvm)를 따서 작업을 하게 됩니다. 작업이 모두 끝났다면 다시 main으로 합쳐야겠죠?

이 글에서는 작업 브랜치를 메인 브랜치와 병합(Merge)하는 과정, 그리고 깔끔하게 브랜치를 삭제하는 법까지 정리해 봅니다.


1. 메인 브랜치로 이동 및 최신화

병합을 하려면 먼저 변경 사항을 '받아들일' 브랜치(보통 main)로 이동해야 합니다.

Bash

# main 브랜치로 체크아웃(이동)
git checkout main

# (협업 중이라면) 원격 저장소의 최신 변경 사항을 미리 당겨옵니다.
git pull origin main

2. 병합 시도

이제 mvvm 브랜치를 합치려고 명령어를 입력합니다.

git merge mvvm


혹시, 에러가 발생한다면.. 에러를 해결해야하겠지만 필자 경우 이미 mvvm 에 최신버전으로 기록되어있기에 main에서의 변경사항을 강제로 버리고 진행함

# 현재 변경 사항을 강제로 버리고, 가장 최근 커밋 상태로 되돌리기
git reset --hard HEAD

이제 깨끗해진 상태에서 다시 병합을 시도하면 성공합니다.

git merge mvvm

3. 원격 저장소(GitHub)에 반영하기 (Push)

내 컴퓨터(로컬)에서는 합쳐졌지만, GitHub에는 아직 반영되지 않았습니다. 합쳐진 내용을 서버로 올려줍니다.

git push origin main

4. 병합 확인하기

병합이 잘 되었는지 어떻게 알 수 있을까요?
Git GUI 툴이나 터미널 로그를 확인했을 때, HEADmainmvvm 태그가 **같은 커밋 해시(Hash)**를 가리키고 있다면 성공입니다.

# 한 줄로 로그 확인하기
git log --oneline -n 1

출력 예시: 4bdcc93 (HEAD -> main, mvvm, origin/main) 코드리펙토링 및 수정


5. 사용한 브랜치 삭제하기 (정리)

mvvm의 내용이 완벽하게 main에 들어갔으므로, 더 이상 mvvm 브랜치는 필요 없습니다. 깔끔한 관리를 위해 삭제해 줍니다.

1) GitHub(원격) 브랜치 삭제

git push origin --delete mvvm

2) 내 컴퓨터(로컬) 브랜치 삭제

git branch -d mvvm

요약 (Cheatsheet)

Bash

# 1. 이동 및 최신화
git checkout main
git pull origin main

# 2. (필요시) 충돌 파일 초기화
git reset --hard HEAD

# 3. 병합 및 푸시
git merge mvvm
git push origin main

# 4. 브랜치 삭제
git push origin --delete mvvm  # 원격 삭제
git branch -d mvvm             # 로컬 삭제

이제 Git 병합과 충돌 해결, 두려워하지 말고 진행해 보세요