본문 바로가기
git

git rebase -i

by devstep 2025. 1. 13.

git rebase -i를 이용해 여러 커밋을 하나로 합치기

 

  • git rebase -i느 기본적으로는 커밋 순서 변경, 메시지 수정, 커밋 제거 등을 제공하는 기능입니다.
  • 여러 커밋을 하나로 합치려면, 합쳐지는 커밋에  squash를  지정해야 합니다. 

 

 

🎯 예제: 최근 3개의 커밋을 하나로 합치기 (squash 사용)

현재 커밋 로그:

a1b2c3  Commit 5 - Fix bug
d4e5f6  Commit 4 - Add feature B
g7h8i9  Commit 3 - Update README
j1k2l3  Commit 2 - Refactor code
m4n5o6  Commit 1 - Initial commit

 

git rebase -i HEAD~3 실행 후 편집기 열림:
pick a1b2c3 Commit 5 - Fix bug
pick d4e5f6 Commit 4 - Add feature B
pick g7h8i9 Commit 3 - Update README
 

모든 커밋을 하나로 합치기 위해 squash로 변경:

pick a1b2c3 Commit 5 - Fix bug
squash d4e5f6 Commit 4 - Add feature B
squash g7h8i9 Commit 3 - Update README
 
 

 

커밋 메시지 편집 창:

# This is a combination of 3 commits
Fix bug, add feature B, update README

 

리베이스 완료 후 커밋 로그:

a1b2c3  Fix bug, add feature B, update README
j1k2l3  Commit 2 - Refactor code
m4n5o6  Commit 1 - Initial commit
 
 

인텔레이제이 에서 했을 때

ctrl+s 누르면 esc 누른 효과가 난다. :wq! 하면 끝

만약 rebasing 브랜치 명이라고 뜨면, git status 를 해본 후 충돌은 정리해주고, 완료되었다면

git rebase --continue해주면 완료 된다. 

'git' 카테고리의 다른 글

git warning: LF will be replaced by CRLF  (0) 2022.03.02

댓글