git 커밋 무르기
포스트
취소

git 커밋 무르기

table of contents

Git 커밋 메시지 수정, --allow-empty 정리

1. 마지막 커밋 메시지 수정하기

1-1. 아직 push 안 한 경우 (로컬 전용)

  • 에디터 열어서 수정하기 방식

    1
    
    git commit --amend
    
    • 기본 Git 에디터가 열리면 맨 윗줄의 메시지만 원하는 내용으로 수정 → 저장 후 종료하면 됨.
  • 한 줄로 바로 바꾸기

    1
    
    git commit --amend -m "새로운 커밋 메시지"
    
    • 기존 커밋의 “내용(파일 변경)”은 그대로 두고, 메시지만 교체.

이 방식은 해당 커밋이 아직 원격에 push되지 않았을 때 안전하게 사용 가능.

1-2. 이미 push한 커밋의 메시지 수정

  • git commit --amend로 메시지를 바꾸면, 커밋 해시가 바뀌어서 히스토리 재작성이 됨.
  • 그 상태에서 원격과 맞추려면 강제 푸시가 필요:

    1
    
    git push --force-with-lease
    
    • 위험성:
      • 다른 사람이 같은 브랜치를 쓰고 있다면, 그 사람들의 히스토리와 충돌 가능.
      • 팀/공용 브랜치에서는 보통 권장되지 않음.

협업 중이거나 이미 push한 커밋이라면, “커밋을 고치는 것”보다는 새 커밋으로 정정/보충 설명을 남기는 게 안전하다.

2. git commit --allow-empty란?

2-1. 개념

1
git commit --allow-empty -m "메시지"
  • 워크디렉토리에 변경 사항이 하나도 없어도 커밋을 만들게 해주는 옵션.
  • 즉, 실제 코드 변화 0인 “빈 커밋(empty commit)”을 강제로 만든다.

    • 보통은 변경 없이 git commit 실행하면 “no changes added to commit” 같은 메시지와 함께 커밋 거부.
    • --allow-empty 추가 → 변경이 없어도 커밋 생성.

2-2. 언제 쓰나?

  • 이력/메모용 마커 커밋
    • 예: “2026-03-04 배포 완료”, “v1.0 릴리스 태그용 마커”처럼, 코드 변경 없이라도 타임라인에 표시를 남기고 싶을 때.
  • CI/CD 재실행 트리거
    • 코드 안 고치고도 파이프라인 한 번 더 돌리고 싶을 때, 빈 커밋 하나 만들어 push해서 트리거.
  • 이미 push된 커밋에 대한 “정정 안내”
    • 푸시된 커밋 메시지를 직접 고치기 부담될 때, 예를 들어:
    1
    
    git commit --allow-empty -m "chore: 이전 커밋 메시지 의미 보완 (실제 동작은 변경 없음)"
    
  • 이렇게 하면 히스토리를 망가뜨리지 않고도, “이전 커밋을 이렇게 이해해 달라”는 보충 설명을 남길 수 있음.

3. 요약

  • 마지막 커밋 메시지만 바꾸면 되고 아직 push 안 했다 → git commit --amend [-m "..."]
  • 이미 push해서 히스토리 건드리기 싫다 → git commit --allow-empty -m "정정/보충 설명" 같은 새 커밋으로 처리.
이 기사는 저작권자의 CC BY-NC-ND 4.0 라이센스를 따릅니다.

머신 비전 시스템 구현 (2)

머신 비전 시스템 구현 (3)