커밋 메시지 수정하기
이럴 때 참고하세요
“커밋 메시지를 잘못 썼어요” / “오타를 수정하고 싶어요”
상황별 빠른 해결
직전 커밋 메시지 수정
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
pick을 reword로 변경:
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관련 문서
- git commit - 커밋 명령어
- Commit - 커밋의 개념
- git reset - 커밋 취소
더 알아보기
- 실수 복구 시나리오 - 다양한 복구 방법
- push를 취소하고 싶을 때 - push 후 수정