case 1. 3way merge
일반적 머지
case 2. fast-forward merge
기준 브랜치에 신규 commit이 없는 경우 -> 신규 브랜치의 이름을 기준 브랜치로 변경
싫으면
git merge --no-ff 브랜치명
// merge 완료된 브랜치 삭제
git branch -d 브랜치명
// merge 안 한 브랜치 삭제
git branch -D 브랜치명
case3. rebase & merge
rebase & fase-forward merge
기준 브랜치에 신규 commit이 있는 경우 경우 -> 신규 브랜치의 시작점을 기준 브랜치의 마지막 커밋 이후로 옮김 -> 신규 브랜치의 이름을 기준 브랜치로 변경
새로운 브랜치로 이동
git rebase 기준브랜치명
기준 브랜치로 이동해서
git merge 새로운브랜치명
case4. squash & merge
git merge --squash 새브랜치