브랜치를 관리하는 도구다.
이 명령은 브랜치를 모두 보여주고 브랜치를 새로 만들고 브랜치를 삭제하고 브랜치 이름을 변경한다
1. 명령어 정리
2. fast forword merge
새로운 병합(commit)이 생성되지 않음
브랜치가 직선적인 관계(분기 X) 일 때 가능





📌 병합 전 (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방향 병합)
새로운 병합 커밋이 생성됨
main과 feature 브랜치가 각각 다른 변경사항을 가지고 있을 때 필요공통 조상(ancestor)을 기준으로 3가지 버전을 비교하여 병합

📌 병합 전 (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