본문 바로가기
Tools2026년 6월 22일2분 읽기

Git merge와 rebase, 언제 무엇을 쓰나

YS
김영삼
조회 604
Git merge와 rebase, 언제 무엇을 쓰나

핵심 요약

여러 사람이 공유하는 브랜치(main 등)에 합칠 땐 merge(히스토리 보존), 내 로컬 피처 브랜치를 최신 main 위로 깔끔히 올릴 땐 rebase가 기본이다. 황금률은 "이미 공유(push)된 커밋은 rebase하지 않는다" — 남의 히스토리를 망가뜨리기 때문이다.

1. 선택

상황권장
공유 브랜치 통합merge
로컬 커밋 정리·선형화rebase -i
main 최신화(미공유 브랜치)rebase

2. 흔한 흐름

# 내 피처 브랜치를 최신 main 위로
git fetch origin
git rebase origin/main
# 충돌 해결 후
git add . && git rebase --continue

3. 함정

  • 공유된 브랜치를 rebase 후 force push하면 동료 히스토리가 깨진다
  • force가 필요하면 --force-with-lease로 안전하게
  • 충돌이 많으면 merge가 추적이 더 쉬울 수 있다

자주 묻는 질문

rebase가 항상 더 깔끔하니 늘 쓰면 안 되나요?

로컬·미공유 브랜치엔 좋습니다. 그러나 이미 push해 남들이 받은 커밋을 rebase하면 히스토리가 갈라져 협업이 깨집니다. 공유 커밋엔 쓰지 마세요.

force push가 필요하다는데 안전한가요?

--force-with-lease를 쓰면 원격이 내가 아는 상태일 때만 덮어써, 남이 새로 올린 커밋을 실수로 지우는 걸 막아줍니다.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록