커밋 메시지 수정하기

이럴 때 참고하세요

“커밋 메시지를 잘못 썼어요” / “오타를 수정하고 싶어요”

상황별 빠른 해결

직전 커밋 메시지 수정

git commit --amend -m "올바른 메시지"

더 이전 커밋 수정

git rebase -i HEAD~3
# 에디터에서 해당 커밋을 reword로 변경

상세 가이드

1. 직전 커밋 메시지 수정

간단한 수정:

git commit --amend -m "feat: 올바른 커밋 메시지"

에디터로 수정:

git commit --amend
# 에디터가 열리면 메시지 수정 후 저장

2. 파일도 함께 수정

커밋에 파일을 추가하거나 수정한 후:

# 파일 수정 또는 추가
git add 수정된파일.js
 
# 커밋에 포함 (메시지는 그대로)
git commit --amend --no-edit
 
# 메시지도 함께 수정
git commit --amend -m "새 메시지"

3. 더 이전 커밋 수정 (Interactive Rebase)

최근 3개 커밋 중 하나를 수정:

$ git log --oneline -3
a1b2c3d feat: 최신 커밋
9x8y7z6 fix: 수정할 커밋 이거 수정하고 싶음
5w4v3u2 docs: 문서 추가
 
$ git rebase -i HEAD~3

에디터가 열립니다:

pick 5w4v3u2 docs: 문서 추가
pick 9x8y7z6 fix: 수정할 커밋    ← reword로 변경
pick a1b2c3d feat: 최신 커밋

# Commands:
# r, reword = use commit, but edit the commit message

pickreword로 변경:

pick 5w4v3u2 docs: 문서 추가
reword 9x8y7z6 fix: 수정할 커밋
pick a1b2c3d feat: 최신 커밋

저장 후 메시지 수정 에디터가 열립니다.


push 여부에 따른 주의사항

push 전

자유롭게 수정 가능:

git commit --amend -m "수정된 메시지"

push 후

주의

이미 push한 커밋을 수정하면 히스토리가 변경됩니다.

개인 브랜치라면:

git commit --amend -m "수정된 메시지"
git push -f origin 브랜치명

협업 브랜치라면:

  • 가능하면 수정하지 마세요
  • 팀원과 협의 후 진행
  • 또는 새 커밋으로 설명 추가

커밋 메시지 형식

권장 형식

타입: 제목 (50자 이내)

본문 (선택, 72자 줄바꿈)

꼬리말 (선택)
Closes #123

타입 종류

타입용도
feat새 기능
fix버그 수정
docs문서
style포맷팅
refactor리팩토링
test테스트
chore기타

좋은 예시

# ✅ 좋은 예시
git commit -m "feat: 사용자 프로필 이미지 업로드 기능 추가"
git commit -m "fix: 로그인 시 비밀번호 검증 오류 수정"
 
# ❌ 나쁜 예시
git commit -m "수정"
git commit -m "ㅋㅋㅋ"
git commit -m "done"

자주 하는 실수

amend 후 push 거부

$ git push
! [rejected] main -> main (non-fast-forward)

해결 (개인 브랜치):

git push -f origin 브랜치명

rebase 중 충돌

# 충돌 해결 후
git add .
git rebase --continue
 
# 또는 취소
git rebase --abort

관련 문서

더 알아보기