Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- auth
- Microservices
- JavaScript
- database
- Kubernetes
- API
- CSS
- SRE
- web
- CI
- Git
- NextJS
- Ops
- 버전관리
- backend
- reliability
- DevOps
- version-control
- Security
- Infra
- Performance
- observability
- HTTP
- architecture
- aws
- react
- frontend
- Operations
- Debugging
- 성능
Archives
- Today
- Total
고민보단 실천을
git rebase 실무 정리: interactive rebase와 충돌 복구, 안전한 강제 푸시 기준 본문
git rebase 실무 정리: interactive rebase와 충돌 복구, 안전한 강제 푸시 기준
git rebase는 커밋 이력을 읽기 좋게 정리해 리뷰 생산성을 높인다. 공유 브랜치 사용 규칙과 강제 푸시 안전 기준을 함께 가져가야 한다. 초보~중급 개발자가 바로 적용할 수 있도록 명령어 흐름, 옵션 선택 기준, 복구 절차를 실무 중심으로 설명한다.

git rebase 기본 사용 패턴
git switch feature/search-v2
git rebase -i --autosquash main
git push --force-with-lease origin feature/search-v2자주 쓰는 옵션 3~6개
| 항목 | 의미 | 언제 쓰는지(실무 상황) |
|---|---|---|
| -i | interactive rebase 실행 | 커밋 순서/메시지/스쿼시 정리가 필요할 때 |
| --continue | 충돌 해결 후 진행 | 수정 반영 후 다음 단계로 갈 때 |
| --abort | 리베이스 중단 | 충돌 영향이 커서 전략을 바꿀 때 |
| --skip | 현재 커밋 건너뛰기 | 중복 반영된 커밋이 있을 때 |
| --autosquash | fixup/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
'GIT' 카테고리의 다른 글
| git reset으로 커밋 되돌리기: --soft·--mixed·--hard 차이와 복구 실무 가이드 (0) | 2026.02.22 |
|---|---|
| git reflog 복구 가이드: 사라진 커밋과 브랜치를 되찾는 단계별 실전 방법 (0) | 2026.02.22 |
| git merge 충돌 해결 운영 가이드: --no-ff 전략과 안전한 병합 절차 정리 (0) | 2026.02.22 |
| git fetch로 안전하게 동기화: 병합 없이 원격 변경 먼저 확인하는 방법 (0) | 2026.02.21 |
| git clean 안전 사용법: 미추적 파일 정리 전 -n 프리뷰로 삭제 사고 막기 (0) | 2026.02.21 |
Comments
