Git | GitLab

[Git] Commit 메시지 수정

비번변경 2022. 11. 9. 22:51

개요

Commit 메시지를 다 못 썼는데, 실수로 엔터를 눌러버렸다…….

커밋 실수

원격 저장소에 저 메시지로 Push 할 수는 없으니, 커밋 메시지를 수정하는 방법을 정리해둔다.

 

 

마지막 커밋 메시지 수정

git commit --amend
# --amend : 이전 commit 수정

git commit --amend

--amend 옵션을 사용하면 자동으로 텍스트 편집기를 실행시켜 마지막 커밋 메시지를 열어준다. 편집기에서 메시지를 변경하고 저장하면 된다.

--amend 실행 결과

💡 commit 이후 새로운 수정 사항까지 포함하고 싶은 경우에도 git commit --amend를 사용할 수 있다.
내용 수정 -> git add -> git commit --amend 순으로 실행하면 된다.

 

 

여러 커밋의 메시지 수정

여러 개의 커밋 메시지를 수정할 때는 git rebase를 이용할 수 있다.

먼저 어떤 commit을 수정해야 하는지 확인하기 위해 commit 히스토리를 살펴보자.

git log

최신 3개의 commit을 수정한다고 했을 때는 아래와 같은 명령을 사용한다.

git rebase -i HEAD~<수정할 commit 수>
# -i : 대화형 모드로 rebase

# 예시
git rebase -i HEAD~3

이 명령어는 실제로 수정하려는 commit의 부모를 가리킨다. 실행 시 수정할 commit 목록이 포함된 스크립트를 편집기로 보여준다. commit 목록의 순서는 git log 명령 출력의 역순이다. 즉, 오래된 commit 순으로 출력된다.

git rebase -i HEAD~n

주석 처리된 Commands를 보니, reword 또는 edit을 사용하면 commit 메시지를 수정할 수 있는 것 같다. 각각 어떻게 수정하는지 확인해보기 위해 두 번째, 세 번째 commit에 대해 아래와 같이 편집 후 저장한다.

reword&#44; edit

reword; commit message 수정

저장하면 reword 명령으로 수정할 commit을 수정할 수 있는 편집기가 실행된다.

reword

 

메시지를 수정 후, 편집기를 빠져나온다.

 

edit; commit amend

edit은 commit을 amend할 수 있는 상태로 만들어 준다. 메시지에서 안내하는 대로 git commt --amend를 사용하여 commit을 수정하고 rebase --continue를 실행한다.

edit - amend&#44; rebase continue

git commit --amend

git rebase --continue

rebase -i HEAD~n 실행 결과

 

 

참고 문서

7.6 Git 도구 - 히스토리 단장하기

[git] 커밋 메세지 수정하기 (changing commit message)