본문 바로가기
📌 GitHub

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

by 쫄리_ 2024. 5. 29.
728x90
반응형

이미 commit한 메세지 수정하기

Git 사용 중 commit를 할 때는 꼭 메시지를 입력하게 됩니다. 
때때로 오타를 입력하거나 commit한 후에 메시지를 수정하고 싶은 경우가 있을 때가 있습니다. 
세 가지 경우의 commit 메시지 수정 방법을 알아봅시다.

 

  1. 마지막 commit 메시지 수정하기
  2. 이미 push한 commit 메시지 수정하기

1. 마지막 commit 메시지 수정하기

✍️ Summary

1. $ git commit --amend 
2. $ i => Insert 상태로 변경 
3. commit message 수정
4. esc 누르고 :wq 입력

마지막에 입력한 commit 메시지를 수정하는데는 —amend 옵션을 사용합니다.

git commit --amend -m "commit_message"

 

또는 commit_message를 바로 입력하지 않고 vi에서 수정하는 방법이 있습니다.

명령어를 입력하면 vi가 실행되고 수정이 가능합니다.

git commit --amend

2. 이미 push한 commit 메시지 수정하기

이미 원격에 올라간 commit 메시지를 수정하는 방법

✍️ Summary

1. $ git log
2. $ git rebase -i HEAD~(내가 보고 싶은 개수) 
3. $ i => Insert 상태로 변경 
4. pick을 reword로 변경 + commit message 수정
5. esc 누르고 :wq 입력 
6. commit message 수정
7. :wq 입력
8. $ git push --force 브랜치이름

1) 커맨드 라인에 git log 입력

     [q] 를 입력해 나갈 수 있다.

git log


 

2) commit 메시지 수정 rebase 명령을 사용

rebase 명령어와 -i를 함께 사용하면 rebase를 대화형으로 수행하여

여러 commit들의 순서를 바꾸거나 commit history를 변경 또는 삭제할 때 사용

현재 작업 중인 브랜치의 가장 최근 커밋 n가지를 보여준다.

n이 들어간 자리에 체크하길 원하는 커밋의 수를 입력한다.

git rebase -i HEAD~n

 


3) commit 메시지 수정

commit 중 수정하고 싶은 commit의 pick을 reword로 수정하고 :wq를 입력

* vi환경에서 INSERT 모드로 전환할 때는 i를 사용하며 COMMAND 모드로 전환할 때는 ESC 키를 사용합니다.

수정 전 → 수정 후


위의 터미널을 종료하면 Commit 메시지에 대한 화면이 아래에서처럼 터미널에서 다시 호출됩니다.

이때 아래와 같이 커밋 메시지를 수정하고 :wq로 저장하시면 됩니다.

수정 전 → 수정 후


4) 원격에 push하기

커밋이 이미 원격에 푸시 되었다면 해당 명령어를 입력해 원격을 다시 덮어쓴다.

* 원격의 내용을 덮어쓰기 때문에

   다른 팀원들이 이미 local에서 가지고 있는 commit log 메시지는 수동으로 수정해야하는 경우가 발생할 수 있습니다.

git push --force 브랜치이름


5) 깃허브 리포지토리 확인

리포지토리로 가보았을 때, 커밋 메시지가 수정된 것을 확인할 수 있다.

 

 

 

728x90
반응형