본문 바로가기

커밋 목록 → CHANGELOG 생성기

브라우저 처리

git log 커밋 목록을 feat·fix·docs 등 Conventional Commits 종류별로 묶어 CHANGELOG 초안을 만듭니다. 커밋 해시와 병합 커밋은 빼고, 호환성이 깨지는 변경(!)은 맨 위에 둡니다.

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

릴리스 전에 지난 커밋들을 하나씩 읽어 변경 이력을 정리하는 일은 번거롭습니다. 이 생성기는 git log --oneline 결과를 붙여 넣으면 커밋 메시지의 종류(feat, fix, docs…)에 따라 묶은 CHANGELOG 초안을 만들어 줍니다.

브라우저 처리
샘플 결과
# Changelog

## [Unreleased] - 2026-10-01

### Breaking changes
- drop Node 16

### Added
- **api:** add search endpoint

### Fixed
- preserve sitemap URLs

### Documentation
- update guide
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

커밋 목록 → CHANGELOG 생성기 사용 가이드

릴리스 전에 지난 커밋들을 하나씩 읽어 변경 이력을 정리하는 일은 번거롭습니다. 이 생성기는 git log --oneline 결과를 붙여 넣으면 커밋 메시지의 종류(feat, fix, docs…)에 따라 묶은 CHANGELOG 초안을 만들어 줍니다.

feat는 Added, fix는 Fixed, perf·refactor·style은 Changed, docs는 Documentation, revert는 Removed로 묶고, feat!:처럼 느낌표가 붙거나 BREAKING CHANGE가 있는 커밋은 Breaking changes로 맨 위에 올립니다. feat(api):의 범위(api)는 **api:**로 항목 앞에 붙입니다.

줄 앞의 커밋 해시(a1b2c3d)와 'Merge branch' 같은 병합 커밋, 사용자에게 보이지 않는 chore·ci·build·test 커밋은 뺍니다. 제목은 [Unreleased]와 오늘 날짜로 시작합니다.

사용 방법

  1. 터미널에서 git log --oneline v1.1.0..HEAD처럼 지난 릴리스 이후 커밋을 출력합니다.
  2. '커밋 목록 (git log --oneline 결과)' 칸에 출력을 그대로 붙여 넣고 '실행'을 누릅니다.
  3. 결과의 [Unreleased]를 새 버전 번호로 바꾸고 CHANGELOG.md 맨 위에 붙여 넣습니다.

예시: 해시가 붙은 커밋 목록

입력
a1b2c3d feat(api): add search endpoint
9f8e7d6 fix: preserve sitemap URLs
feat!: drop Node 16
docs: update guide
chore: bump deps
Merge branch main
결과
# Changelog

## [Unreleased] - 2026-10-01

### Breaking changes
- drop Node 16

### Added
- **api:** add search endpoint

### Fixed
- preserve sitemap URLs

### Documentation
- update guide

날짜는 실행한 날이 들어갑니다. chore 커밋과 병합 커밋은 빠졌습니다.

이럴 때 쓰면 좋아요

  • 릴리스 직전에 지난 커밋으로 변경 이력을 만들 때
  • Conventional Commits를 쓰는 팀의 CHANGELOG를 갱신할 때
  • 호환성이 깨지는 변경을 놓치지 않고 맨 위에 알릴 때
  • PR 설명에 이번 변경 범위를 정리해 붙일 때

문제가 생겼을 때

커밋이 Other로 몰림

'feat: …', 'fix: …'처럼 종류와 콜론으로 시작해야 분류됩니다. 형식이 다른 커밋은 첫 단어(add, fix, remove, 추가, 수정)로 추정합니다.

필요한 chore 커밋이 빠짐

chore·ci·build·test는 사용자에게 보이지 않는 작업이라 뺍니다. 꼭 넣어야 하면 결과에 직접 추가하세요.

활용 팁

  • git log --pretty=format:"%s"로 출력하면 해시 없이 메시지만 나와 붙여 넣기가 더 깔끔합니다.
  • 사용자에게 공지할 한국어 문서가 필요하면 같은 커밋 목록을 릴리스 노트 생성기에 넣으세요.

자주 묻는 질문

버전 번호는 자동으로 정해지나요?

아니요. [Unreleased]로 만들어 두니 Breaking changes가 있으면 주 버전, Added가 있으면 부 버전을 올리는 식으로 직접 정하세요.

스쿼시 병합 커밋도 읽나요?

'feat: …(#123)'처럼 메시지가 Conventional Commits 형식이면 일반 커밋처럼 분류합니다. 'Merge pull request'로 시작하는 줄만 뺍니다.

커밋 본문의 BREAKING CHANGE도 찾나요?

붙여 넣은 줄 안에 'BREAKING CHANGE'가 있으면 찾습니다. --oneline 출력에는 본문이 없으니 제목에 !를 붙이는 방식을 쓰세요.