다운 규약 문서

규약 목록 개발 규약

커밋 메시지 규약

「[type]: 공통 주제 - 개별 내용」 형식과, 한 작업을 여러 커밋으로 나눌 때 앞부분을 똑같이 유지하는 규칙.

공개범위
공개
버전
1.0.0
수정일
2026-10-27
담당
서버개발팀
원본
마크다운

#git#commit

이 문서의 목차
  1. 기본 형식
  2. 핵심 — 한 작업을 쪼갤 때는 앞부분을 글자 하나까지 똑같이
  3. type 종류
  4. 본문 — "무엇"보다 "왜"
  5. 스테이징 — 명시한 경로만
  6. 더 많은 예

기본 형식

[<type>]: <공통 주제> - <개별 파일 내용>
항목설명예
type변경 유형feat fix refactor chore docs test perf
공통 주제그 작업 전체를 가리키는 한 마디스마트게이트 문자전송
개별 내용이 커밋에서 실제로 한 일목장 전화번호를 DB에서 읽도록 교체

핵심 — 한 작업을 쪼갤 때는 앞부분을 글자 하나까지 똑같이

한 작업을 파일별로 나눠 커밋하면 git log 에서 조각들이 흩어져 보입니다. [type]: 공통 주제 - 까지를 글자 하나까지 똑같이 쓰면, 어디서 어디까지가 한 작업인지 한눈에 묶여 보입니다.

[fix]: 스마트게이트 문자전송 - 목장 전화번호를 DB에서 읽도록 교체
[fix]: 스마트게이트 문자전송 - 해소 통지는 텔레그램만 보내도록 변경
[fix]: 스마트게이트 문자전송 - 수신번호 스모크 테스트 추가
  • 공통 주제를 커밋마다 조금씩 바꾸면 묶이지 않아 의미가 없습니다. 작업 내내 고정합니다.
  • 파일 하나로 끝나는 단발 수정은 뒷부분을 생략해도 됩니다 — 묶을 대상이 없기 때문입니다.
[fix]: 세척설정 온도값 실수 표기

type 종류

타입의미
feat기능 추가
fix버그 수정
refactor리팩터링 (동작 변화 없음)
chore빌드·설정·기타
docs문서
test테스트
perf성능 개선

본문 — "무엇"보다 "왜"

제목 한 줄로 부족하면 본문에 왜 그렇게 했는지를 적습니다.

  • 무엇을 바꿨는지는 diff 를 보면 알 수 있지만, 왜 그렇게 했는지는 코드에 남지 않습니다.
  • 사고 대응 커밋이면 날짜·현상·근거(실측값) 를 함께 남깁니다.
  • 관련 이슈가 있으면 이슈 번호를 적습니다 ('이슈 기반 개발 흐름' 문서 참조).
[fix]: 세척설정 로봇 거부 알림 - 거부 시 즉시 전역 모달 표시

로봇이 세척설정 저장을 거부해도 화면에 아무 표시가 없어
운영자가 저장된 줄 알고 넘어가던 문제. (#123)

스테이징 — 명시한 경로만

커밋에는 의도한 파일만 넣습니다.

git add path/to/file1 path/to/file2   # O — 경로를 명시
git add -A                            # X — 의도하지 않은 파일(산출물·임시파일·비밀값)이 섞인다

왜 — 한꺼번에 추가하면 빌드 산출물, 로컬 설정, 비밀값이 든 파일이 함께 올라가는 사고가 납니다.

더 많은 예

[fix]: 세척설정 로봇 거부 알림 - 거부 시 즉시 전역 모달 표시
[fix]: 세척설정 로봇 거부 알림 - 거부 항목 취소선·「로봇 거부」 표시
[fix]: 세척설정 로봇 거부 알림 - 실측 MQTT 시험 스크립트 추가

[feat]: 급이현황 차트 - 착유 패널에 그래프 설정 연동
[refactor]: 밸브 기대값 보정 - SQL yield 컬럼 식별자 정리