고민보단 실천을

git rebase 실무 정리: interactive rebase와 충돌 복구, 안전한 강제 푸시 기준 본문

GIT

git rebase 실무 정리: interactive rebase와 충돌 복구, 안전한 강제 푸시 기준

Just-Do-It 2026. 2. 22. 14:59

git rebase 실무 정리: interactive rebase와 충돌 복구, 안전한 강제 푸시 기준

git rebase는 커밋 이력을 읽기 좋게 정리해 리뷰 생산성을 높인다. 공유 브랜치 사용 규칙과 강제 푸시 안전 기준을 함께 가져가야 한다. 초보~중급 개발자가 바로 적용할 수 있도록 명령어 흐름, 옵션 선택 기준, 복구 절차를 실무 중심으로 설명한다.

git rebase reference image
리베이스 개념도 (출처: Pro Git, git-scm.com)

git rebase 기본 사용 패턴

git switch feature/search-v2
git rebase -i --autosquash main
git push --force-with-lease origin feature/search-v2

자주 쓰는 옵션 3~6개

항목의미언제 쓰는지(실무 상황)
-iinteractive rebase 실행커밋 순서/메시지/스쿼시 정리가 필요할 때
--continue충돌 해결 후 진행수정 반영 후 다음 단계로 갈 때
--abort리베이스 중단충돌 영향이 커서 전략을 바꿀 때
--skip현재 커밋 건너뛰기중복 반영된 커밋이 있을 때
--autosquashfixup/squash 자동 재배치리뷰 수정 커밋을 정돈할 때

실무 적용 순서

1) 실행 전 상태 확인

git status와 git log로 현재 위치를 확인한다. 특히 원격 공유 브랜치인지, 로컬 전용 브랜치인지 먼저 판단해야 안전하다.

2) 목적에 맞는 옵션 선택

동일 명령어라도 옵션에 따라 이력 보존, 충돌 위험, 협업 영향이 달라진다. 팀 정책과 배포 단계에 맞춰 옵션을 고른다.

3) 실행 후 검증

명령 실행 뒤에는 status, diff, 테스트를 통해 결과를 검증한다. 필요하면 즉시 복구 명령(reflog, revert, stash)을 연계한다.

문제 상황 1개

상황: rebase 후 원격과 충돌해 푸시가 거절된다.
원인: 공유된 브랜치 이력을 재작성했다.
해결: 팀 합의된 브랜치에서만 rebase하고 푸시는 --force-with-lease를 사용한다.
예방 팁: main 같은 공유 브랜치는 merge 중심으로 유지한다.

참고/출처

공식 문서: git-rebase manual
공식 문서: Pro Git - Rebasing
신뢰 자료: Atlassian - git rebase

Comments