![[Git] 이미 푸시된 커밋 메시지 수정하는 방법 (amend, rebase)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzcCFU%2FbtsHJVXGfLY%2FkeAxqnK1FTdzlnTAJjNt3k%2Fimg.png)
시작하기 앞서...
아무 생각 없이 이전 커밋 메시지를 복붙하고 조금 수정한 뒤, 푸시를 했는데 커밋 메시지를 잘 못 쓴 것을 발견했다. 😱
사실 이런 경우가 생기면 외면했었는데(ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ) 깃을 제대로 다뤄보고 싶어서 커밋 메시지를 수정하는 방식에 대해 글을 작성하게 되었다.
이미 push 한 commit 메시지 수정하는 방법
1. amend
--amend
옵션을 사용해서 마지막에 한 커밋(최근에 한 커밋)의 메시지를 수정하는 방식이다.
git commit --amend -m "바꿀 커밋 메시지 내용"
다음으로 --force
옵션을 사용해서 push 를 한다.
강제로 푸시하는 거라 해당 브랜치에서 같이 작업 중인 동료가 있다면 사전에 알려야 한다. (다행히 나는 혼자 작업 중)
git push --force origin [브랜치 이름]
그러면 제대로 커밋 메시지가 바뀐 상태로 다시 push 된다.
2. rebase
아 그런데 또 웃긴게 커밋 메시지를 "📚 Docs: 3-2 내용 수정"이 아니라 "📚 Docs: 3-2 내용 추가"로 해야 되는데 또 아무 생각 없이 커밋 하고 푸시를 했다 🤣 (의도한 거 아님)
위에 방법 말고 커밋 히스토리를 다시 작성하는 rebase
를 사용하여 커밋 메시지를 수정할 수 있다.
-i
옵션을 사용해 바로 vim 편집기가 열리도록 하였고 Head
옵션을 사용해 기준점을 정할 수 있는데 나는 바로 직전 커밋이라 ~1 을 하였다.
git rebase -i HEAD~1
해당 명령어를 입력하고 수정하는 방법은 아래와 같다.
[수정하는 법]
1. i 를 눌러 입력모드로 전환
2. 수정할 커밋에 있는 pick -> reword 로 변경
3. esc 눌러 입력모드에 빠져나옴
4. :wq 입력하여 엔터를 눌러 저장하고 종료
그러면 이제 수정해야 할 커밋 내용이 나오며 똑같이 i -> 커밋메시지 수정 -> esc -> :wq -> enter 순으로 진행하면 정상적으로 커밋 메시지가 수정된다.
아까처럼 --force
옵션을 사용하여 푸시한다.
git push --force origin [브랜치 이름]
pull request 를 보니 제대로 수정된 것을 확인할 수 있다.
마치며...
커밋 메시지를 작성할 때 실수하지 않고 제대로 적는 것이 중요하지만 만약 실수했을 경우 위에 방법을 사용해서 바꾸면 된다
그리고 협업을 할 때 --force
옵션을 주의 해야 하니 push 할 때는 신중히 하는 걸 추천한다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/008.gif)
'💜 Git' 카테고리의 다른 글
[GitHub] merge 후 브랜치 자동삭제 안되는 이유 (feat. Branch protection rules) (0) | 2024.07.30 |
---|---|
[github] 깃허브 pull request merge 취소하기 - revert (0) | 2024.04.13 |
[GitHub] 깃허브 이슈(issue) & PR(Pull Request) 템플릿 만들기 (1) | 2024.04.08 |
[Git] Git branch merge / Git Flow 브랜치 전략 (0) | 2024.03.19 |
[GitHub] 깃허브 프로필 꾸미기 - 커밋 시간 통계 (0) | 2024.03.06 |
FE 개발자가 되고 싶은 짱잼이
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!