초보자가 하는 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."
시작하며
개발을 하다 보면 새로운 기능 개발을 위해 main 브랜치에서 새로운 브랜치(예: mvvm)를 따서 작업을 하게 됩니다. 작업이 모두 끝났다면 다시 main으로 합쳐야겠죠?
이 글에서는 작업 브랜치를 메인 브랜치와 병합(Merge)하는 과정, 그리고 깔끔하게 브랜치를 삭제하는 법까지 정리해 봅니다.
1. 메인 브랜치로 이동 및 최신화
병합을 하려면 먼저 변경 사항을 '받아들일' 브랜치(보통 main)로 이동해야 합니다.
Bash
# main 브랜치로 체크아웃(이동)
git checkout main
# (협업 중이라면) 원격 저장소의 최신 변경 사항을 미리 당겨옵니다.
git pull origin main2. 병합 시도
이제 mvvm 브랜치를 합치려고 명령어를 입력합니다.
git merge mvvm
혹시, 에러가 발생한다면.. 에러를 해결해야하겠지만 필자 경우 이미 mvvm 에 최신버전으로 기록되어있기에 main에서의 변경사항을 강제로 버리고 진행함
# 현재 변경 사항을 강제로 버리고, 가장 최근 커밋 상태로 되돌리기
git reset --hard HEAD이제 깨끗해진 상태에서 다시 병합을 시도하면 성공합니다.
git merge mvvm3. 원격 저장소(GitHub)에 반영하기 (Push)
내 컴퓨터(로컬)에서는 합쳐졌지만, GitHub에는 아직 반영되지 않았습니다. 합쳐진 내용을 서버로 올려줍니다.
git push origin main4. 병합 확인하기
병합이 잘 되었는지 어떻게 알 수 있을까요?
Git GUI 툴이나 터미널 로그를 확인했을 때, HEAD, main, mvvm 태그가 **같은 커밋 해시(Hash)**를 가리키고 있다면 성공입니다.
# 한 줄로 로그 확인하기
git log --oneline -n 1출력 예시: 4bdcc93 (HEAD -> main, mvvm, origin/main) 코드리펙토링 및 수정
5. 사용한 브랜치 삭제하기 (정리)
mvvm의 내용이 완벽하게 main에 들어갔으므로, 더 이상 mvvm 브랜치는 필요 없습니다. 깔끔한 관리를 위해 삭제해 줍니다.
1) GitHub(원격) 브랜치 삭제
git push origin --delete mvvm2) 내 컴퓨터(로컬) 브랜치 삭제
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 병합과 충돌 해결, 두려워하지 말고 진행해 보세요