본문 바로가기
IT/Git

git rebase 커밋 합치기

by 뉴코딩맨 2023. 3. 9.

git rabase 명령어를 사용해서 커밋 메시지를 병합할 수 있습니다. 여러 개의 커밋 메시지가 하나의 작업 단위 일 때 병합 기능을 사용하면 커밋 로그를 깔끔하게 관리할 수 있습니다. 커밋 메시지가 하나로 병합이 되고 기능은 그대로 적용이 됩니다.

 

 

사용법

 

 

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ touch master.txt

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git add master.txt

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git commit -m "create master.txt"
[master (root-commit) ad68a52] create master.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 master.txt

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git commit -am "병합될 메시지"
[master 7b29ccd] 병합될 메시지
 1 file changed, 1 insertion(+)

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git commit -am "병합 해주셈"
[master 96a2443] 병합 해주셈
 1 file changed, 2 insertions(+), 1 deletion(-)

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git commit -am "병합 해주길 바람"
[master 83e8ed5] 병합 해주길 바람
 1 file changed, 2 insertions(+), 1 deletion(-)

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git log --oneline
83e8ed5 (HEAD -> master) 병합 해주길 바람
96a2443 병합 해주셈
7b29ccd 병합될 메시지
ad68a52 create master.txt

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git rebase -i HEAD~3
hint: Waiting for your editor to close the file...

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git rebase -i HEAD~3
Successfully rebased and updated refs/heads/master.

USER-PC@DESKTOP-JAEGCLI MINGW64 ~/Desktop/gitstudy (master)
$ git log --oneline
4aad671 (HEAD -> master) 병합될 메시지
ad68a52 create master.txt

 

 

rebase-수정-전
rebase-수정-전

 

 

rebase-수정-후
rebase-수정-후

 

 

git rebase -i HEAD~개수 명령어를 사용하면 git-rebase-todo 편집창이 열리고 병합하고 싶은 커밋 메시지를 fixup으로 변경합니다. fixup으로 변경하고 저장한 후 편집창을 닫으면 변경한 커밋 메시지는 이전 커밋 메시지로 병합이 됩니다. 참고로 개수의 기준은 최근 커밋 메시지 기준으로부터 몇 개를 적용할 것인 지입니다.

'IT > Git' 카테고리의 다른 글

git tag 확인  (0) 2023.03.10
git rebase 커밋 삭제  (0) 2023.03.09
git rebase 커밋 메시지 수정  (0) 2023.03.09
git rebase 충돌 해결  (0) 2023.03.08
git rebase 명령어  (0) 2023.03.07

댓글