🔁 Git Rebase

정의

rebase현재 브랜치의 변경 내역을 다른 브랜치의 최신 커밋 뒤로 다시 얹는 작업이다.

Git에서 rebase를 사용하면 브랜치 히스토리를 직선형으로 정리할 수 있다.
공유 브랜치의 기준점을 최신 상태로 맞춘 뒤, 현재 작업 내용을 그 위에 다시 적용하는 방식이다.

image

image

🧭 핵심 개념

  • rebase는 브랜치의 시작 기준을 바꾼다.
  • 커밋이 위로 다시 쌓이기 때문에 히스토리가 깔끔해진다.
  • merge처럼 병합 커밋이 남지 않아 흐름을 보기 쉽다.

⚖️ merge와의 차이

항목 merge rebase
히스토리 병합 커밋이 남을 수 있음 직선형으로 정리됨
커밋 이동 기존 커밋 구조를 유지함 커밋이 새로 적용됨
사용 목적 분기 기록을 보존할 때 히스토리를 정리할 때
주의점 비교적 안전함 공유 브랜치에서는 신중해야 함

🔧 사용 예시

git checkout feature/login
git fetch origin
git rebase origin/main

위 예시는 feature/login 브랜치를 origin/main의 최신 커밋 뒤로 다시 얹는 흐름이다.
이후 충돌이 나면 충돌 파일을 수정하고 git addgit rebase --continue로 이어간다.

⚠️ 주의사항

  • 이미 여러 사람이 함께 쓰는 브랜치에는 함부로 적용하지 않는다.
  • rebase 후에는 커밋 해시가 바뀌므로, 원격에 이미 반영된 이력과 충돌할 수 있다.
  • 충돌이 발생하면 한 번에 해결하려 하지 말고 커밋 단위로 차분히 정리한다.
  • 작업 전에는 반드시 현재 브랜치가 맞는지 확인한다.

🧩 정리

  • rebase는 브랜치 히스토리를 보기 좋게 정리하는 데 유용하다.
  • 개인 작업 브랜치에서 특히 효과적이다.
  • 협업 브랜치에서는 mergerebase의 성격을 구분해서 사용해야 한다.

연결문서

댓글남기기