Skip to main content

git merge


1. Git Merge란?

git merge다른 브랜치의 변경사항을 현재 브랜치에 병합할 때 사용하는 명령어이다.


2. 기본 형식

git merge <브랜치명>

용어

설명

현재 브랜치

병합이 적용될 대상 브랜치

<브랜치명>

병합할 소스 브랜치 (변경사항을 가져올 브랜치)

📌 즉, 현재 브랜치 ← <브랜치명>의 변경 사항을 병합


3. 사용 예시

git checkout main          # main 브랜치로 이동 (병합 대상)
git merge feature/login    # feature/login 브랜치를 main에 병합

🧠 의미:
feature/login의 변경사항을 main 브랜치로 가져오겠다는 뜻입니다.


4. 흐름 시각화

main  ◀── 병합 ───  feature/login
        ↑
     (HEAD 포인터)

5. 사용 절차

5.1 병합 대상 브랜치로 이동

git checkout main

5.2 병합 수행

git merge feature/login

6. 병합 결과

  • Fast-forward merge: 브랜치가 갈라지지 않았다면 병합 커밋 없이 연결됨
  • 🔀 Merge commit: 브랜치가 갈라졌다면 새 병합 커밋이 생성됨

7. 주의사항

항목

설명

HEAD 위치

항상 병합될 대상 브랜치에 있어야 함 (git checkout <대상브랜치>)

충돌 가능성

변경사항이 겹치는 경우 conflict 발생 가능 → 수동 해결 필요

커밋 전 병합 여부

병합 대상 브랜치의 작업이 커밋되지 않았다면 병합되지 않음


8. 추가 팁

  • 병합 전 현재 브랜치가 최신 상태인지 git pull로 동기화 권장
  • 병합 후에는 git log 또는 gitk로 히스토리 확인 가능
  • 병합 전략 지정 시 --no-ff 옵션 사용해 강제로 병합 커밋 생성 가능:
git merge --no-ff feature/login