728x90
반응형

개요
Git에서 여러 커밋을 정리하거나 수정, 합치기(squash), 삭제, 재정렬 할때 사용하는 rebase에 대해 정리한 포스팅입니다.
기본 개념
git rebase -i <커밋> 은 지정한 커밋 이후의 커밋들을 편집할 수 있는 기능입니다. <커밋>은 기준 커밋으로, 이 커밋 이후 커밋들을 재작성 대상으로 삼습니다.
주요 옵션
- pick : 커밋 그대로 사용
- reword : 커밋 메시지 수정
- edit : 커밋 내용 수정
- squash : 이전 커밋과 합치기
- drop : 커밋 삭제
주의 사항
이미 원격에 푸시된 커밋을 rebase 후 강제 푸시(--force) 해야 할 수 있음
협업 브랜치에서 rebase 사용 시 다른 사람 작업과 충돌 가능
중요한 커밋은 삭제 전 반드시 백업해야 합니다.
기본 예시
커밋 이후의 모든 커밋이 목록으로 나타나 편집할 커밋 아이디를 적습니다.
git rebase -i 4aaa1e8
1. 커밋 메시지 수정
편집기에서 표시된 커밋 메시지를 수정 후 저장하면 수정 내용이 반영됩니다.
pick abc1234 Add login feature
reword def5678 Fix login bug
pick 789abcd Update README
2. 커밋 합치기 (Squash)
def5678 커밋을 abc1234 커밋에 합치면서 하나의 커밋으로 정리됩니다.
pick abc1234 Add login feature
squash def5678 Fix login bug
pick 789abcd Update README
3. 커밋 삭제
def5678 커밋이 역사에서 완전히 제거됩니다.
pick abc1234 Add login feature
drop def5678 Fix login bug
pick 789abcd Update README

728x90
반응형
'Environment > Git' 카테고리의 다른 글
| GitHub Actions로 구축하는 실전 CI/CD 파이프라인 가이드 (0) | 2025.12.08 |
|---|---|
| Git Tag를 활용한 효율적인 릴리스 관리 방법 (1) | 2025.01.15 |
| README.md와 CHANGELOG.md 작성 가이드 (0) | 2025.01.15 |
| Git submodule 시작하기 (1) | 2024.09.27 |
| 자주 사용하는 Git CLI (0) | 2024.06.17 |