핵심 요약
여러 사람이 공유하는 브랜치(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