[Git] commit message수정

0x45c·2024년 3월 15일
0

Git

목록 보기
2/4
post-thumbnail

git을 사용해 소스를 commit하거나 push할 때,
이미 commit을 해버렸는데 메세지를 수정하고 싶은 경우가 종종 생겼다..

또 언젠가 금방 찾아볼 거 같아 한번 정리해두도록 하겠다.
아, 그리고 당연하지만 해당 소스를 commit 혹은 push를 진행한 컴퓨터에서 가능하다..


1. push를 하지 않은 경우 (아직 로컬에만 있는 경우)

1-1) 가장 최근 수정 commit일 경우

아래 command 실행 후 수정 창이 뜨면 편집기로 수정 후 탭을 닫으면 된다.
(cmd에서 진행 시 esc->:wq->창 닫기)

git commit --amend

1-2) 이전 history의 commit일 경우

아래 command로 지금까지 기록을 확인할 수 있다.

git log

수정할 commit을 확인 후, 다음과 같이 수정할 commit을 선택한다.

$ git rebase -i HEAD~원하는개수

// 위에서 부터 두번째 커밋을 수정하고 싶으면
$ git rebase -i HEAD~2

아래와 같이 명령어를 입력하면,

다음과 같이 편집기에 pick 문구가 뜨며 내가 선택한 commit 리스트가 나온다.

여기서 내가 수정할 commitpick -> reword 로 바꿔준 후 메세지를 수정 -> 저장 -> 편집기일 경우 수정한 탭을 닫으면 반영된다.


2. push를 한 경우 (remote에 올린 경우)

이미 push를 진행해버려 원격에 올라간 commit message는 강제로 덮어쓰는 방법이다.

방법은 굉장히 간단하지만.. 협업할 때는 사용하지 않는 것이 권장사항이다.
만약 나 혼자 연습용 소스라면 상관 없겠지만, 협업을 하는 경우에 강제로 덮어써버리면 이전 commit log를 가진 다른 팀원들이 수동으로 로그를 수정해야하기 때문이다

⚠️push 하기 전에는 다시 한번 체크하자!!!!⚠️

방법은 로컬에서 1번을 진행한 후, 아래 command를 실행하면 된다.

git push --force [origin main(브랜치 이름)]

참고

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

profile
열심히 배워가고 있는 3년차 프론트엔드 개발자입니다 :)

0개의 댓글