본문 바로가기

Git/git tip

[Git] 이미 push한 commit message 변경하기

 

 

git commit 컨벤션에 대해서 알게되어서 기존 개발중인 프로젝트에 컨벤션을 적용해서 진행해 보기로 하였다...

그런데 이미 commit message 를 입력하고 push 까지 해버렸는데, github에서도 변경이안되고.. 어떻게 해야할까??

 

 

1. rebase로 에디터 들어가기

git rebase HEAD~1 -i

# 3번째 까지 push한 기록들까지..
# git rebase HEAD~3 -i

 

터미널로 들어가서 위 명령어를 입력하면 에디터로 들어가서 해당 커밋 메세지를 볼 수 있다.

 

※ 우리가 몇 번째 commit 내용을 수정해야하는지 고려해보고 git rebase HEAD~{number} -i  코드를 터미널에 입력하면 {number}에 몇 번째인지 숫자를 입력해서 변경하면 된다.

 

 

2. 에디터에서 pick -> reword 로 변경하기

에디터로 들어가면 commit message 맨 앞에 pick 문구가 보일거다.

pick를 reword로 변경해주면 된다. 그리고 수정한 에디터를 저장하고 아래의 명령어로 빠져나간다. 

(단, 아직 메세지를 변경하지 않고 pick를 reword로만 변경한다.)

에디터로 빠져 나오는 법은

esc
:
wq!
enter

 

위의 순으로 입력하면 된다.

 

3. commit message 수정하기

2번 단계에서 pick를 reword로 변경하고 wq! 수정, 저장하기 까지 하였으면 그 다음은 commit message 수정할 수 있는 에디터 창이 뜰것이다.

내용을 수정하고

esc
:
wq!
enter

 

위의 명령어를 똑같이 입력하면 에디터를 통해서 변경이 된다.

 

4. git push origin {경로}

이제 우리가 에디터로 변경한 것들을 github에 push 해주자

git push origin {경로}

 

하지만 빨간색 error가 뜰 것이다.

 

강제 push 하기

git push origin {경로} -f

 

-f (--force) 옵션으로 강제로 push 해주자.