본문 바로가기

Conventional Commit 생성기

브라우저 처리

type, scope, 요약을 넣어 'feat(tools)!: …' 형식의 Conventional Commits 메시지를 만듭니다. 본문, BREAKING CHANGE, Refs·Closes 이슈 줄을 붙이고 첫 줄 100자 제한을 확인합니다.

사용 전 확인
  • 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
도구 실행입력 후 결과 확인
Conventional Commit 생성기 샘플 실행

Conventional Commits는 커밋 메시지 첫 줄을 'type(scope): 요약' 형식으로 맞추는 규칙으로, 이 형식을 지키면 변경 로그와 버전 번호를 자동으로 만들 수 있습니다. 이 도구는 칸에 나눠 적은 정보를 규칙에 맞는 메시지로 조립합니다.

브라우저 처리
샘플 결과
feat(tools)!: add Markdown file workflow

BREAKING CHANGE: API 응답에서 total 필드 제거
Refs: #123
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

Conventional Commit 생성기 사용 가이드

Conventional Commits는 커밋 메시지 첫 줄을 'type(scope): 요약' 형식으로 맞추는 규칙으로, 이 형식을 지키면 변경 로그와 버전 번호를 자동으로 만들 수 있습니다. 이 도구는 칸에 나눠 적은 정보를 규칙에 맞는 메시지로 조립합니다.

type은 feat, fix, docs, chore 같은 영문 소문자 한 단어, scope는 공백 없는 영역 이름입니다. 세부 칸에는 요약 다음에 ;로 옵션을 잇는데, breaking=설명을 넣으면 첫 줄에 !를 붙이고 'BREAKING CHANGE: 설명' 꼬리말을 추가합니다. breaking=true만 쓰면 !만 붙습니다.

body=로 본문을, issue=123으로 'Refs: #123'을, closes=45로 'Closes #45'를 넣을 수 있습니다. 요약 끝의 마침표는 관례에 따라 지우고, 첫 줄이 commitlint 기본 한도인 100자를 넘으면 줄이라고 알려 줍니다.

사용 방법

  1. 'type' 칸에 feat, fix처럼 변경 종류를, 'scope' 칸에 영향받는 영역을 적습니다(없으면 비움).
  2. '세부 내용' 칸에 '요약; breaking=설명; issue=123; body=본문'처럼 요약과 옵션을 ;로 이어 적습니다.
  3. '실행'을 누르고 결과를 git commit -F 파일이나 커밋 편집기에 붙여 넣습니다.

예시: 호환성이 깨지는 기능 추가

입력
feat
---
tools
---
add Markdown file workflow; breaking=API 응답에서 total 필드 제거; issue=123
결과
feat(tools)!: add Markdown file workflow

BREAKING CHANGE: API 응답에서 total 필드 제거
Refs: #123

breaking에 설명을 적어 !와 BREAKING CHANGE 꼬리말이 함께 붙었습니다.

이럴 때 쓰면 좋아요

  • semantic-release나 release-please로 버전을 자동으로 올리는 저장소에서 커밋할 때
  • commitlint가 걸린 저장소에서 커밋 메시지 형식 오류를 피하고 싶을 때
  • 호환성이 깨지는 변경을 정확한 형식으로 표시해야 할 때
  • 이슈 번호를 꼬리말로 연결해 자동으로 닫히게 할 때

문제가 생겼을 때

'type은 영문 소문자 한 단어여야 합니다' 오류

Feat나 new feature처럼 대문자·공백이 들어갔습니다. feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert 중에서 고르는 것이 일반적입니다.

'첫 줄이 100자입니다' 오류

요약이 너무 깁니다. 자세한 설명은 body=로 본문에 옮기고 첫 줄은 무엇을 했는지만 짧게 적으세요.

활용 팁

  • feat는 마이너 버전, fix는 패치 버전, ! 나 BREAKING CHANGE는 메이저 버전을 올리는 신호로 쓰입니다.
  • GitHub에서 Closes #45 꼬리말이 기본 브랜치에 병합되면 45번 이슈가 자동으로 닫힙니다.

자주 묻는 질문

요약은 한국어로 써도 되나요?

됩니다. 형식 규칙은 type과 scope에만 있고 요약과 본문은 팀이 정한 언어로 쓰면 됩니다.

git commit -m으로 여러 줄을 넣으려면요?

-m을 여러 번 쓰면 문단마다 빈 줄로 이어집니다. 결과를 파일로 저장해 git commit -F 파일명으로 넣는 편이 정확합니다.

scope는 꼭 넣어야 하나요?

선택 사항입니다. 비워 두면 'feat: 요약'처럼 괄호 없이 만들어집니다.