[Git] 4. branch

김건우's avatar
Apr 02, 2025
[Git] 4. branch
💡
브랜치를 관리하는 도구다.
이 명령은 브랜치를 모두 보여주고 브랜치를 새로 만들고 브랜치를 삭제하고 브랜치 이름을 변경한다

1. 명령어 정리


2. fast forword merge

💡
새로운 병합(commit)이 생성되지 않음
브랜치가 직선적인 관계(분기 X) 일 때 가능
notion image
notion image
notion image
notion image
notion image

📌 병합 전 (Fast-forward 가능)

o---o---o (main) \ o---o---o (feature)

📌 Fast-forward Merge 후

o---o---o---o---o---o (main, feature)
👉 단순히 main 브랜치를 feature 브랜치의 최신 커밋으로 이동시킴
👉 새로운 병합 커밋이 생기지 않음!

🚀 Fast-forward Merge 실행

git checkout main git merge feature-branch
👉 main이 feature-branch의 최신 커밋을 가리키도록 앞으로 이동

3. 3-way Merge (3방향 병합)

💡
새로운 병합 커밋이 생성됨
mainfeature 브랜치가 각각 다른 변경사항을 가지고 있을 때 필요
공통 조상(ancestor)을 기준으로 3가지 버전을 비교하여 병합
notion image

📌 병합 전 (3-way Merge 필요)

o---o---o (main) \ o---o---o (feature)

📌 3-way Merge 후

o---o---o---------M (main) \ / o---o---o (feature)
👉 새로운 병합 커밋(M)이 생성됨!
👉 어떤 브랜치가 어디서 분기되었는지 명확하게 남음!

🚀 3-way Merge 실행

git checkout main git merge feature-branch
👉 Git이 공통 조상 + 두 브랜치의 최신 커밋을 비교해서 자동 병합
(필요하면 충돌 해결 후 수동으로 git add, git commit)
 
Share article

gunwoo