[git] CHANGELOG..?

ebebebbbebeb·2024년 10월 28일
0
post-thumbnail

CHANGELOG.md

CHANGELOG.md는 릴리즈 시점에 커밋 메시지를

type 및 scope 별로 정리해놓은 마크다운 형식의 파일입니다

따라서 프로젝트의 feature, bug fix, refactor 등의 변화를 한눈에 파악할 수 있습니다

간단한 생성 방법

git 명령어를 통해 생성하는 방법입니다

git log --pretty="- %s" > CHANGELOG.md

위의 명령어를 실행하면 --pretty 설정에 맞춰 CHANGELOG.md가 생성됩니다

pretty의 확장 옵션 종류는 굉장히 많은데

그건 필요할 때 찾아보는걸로 😉

라이브러리를 활용한 생성 방법

generate-changelog라는 라이브러리를 통해서도 CHANGELOG.md를 생성할 수 있습니다

1. node.js 설치(Mac & Linux)

brew install node

2. generate-changelog 생성

#글로벌
npm i generate-changelog -g

#특정 프로젝트 종속
npm i generate-changelog -D

generate-changelog는 node.js 기반의

CHANGELOG.md를 자동으로 생성해주는 tool 입니다

3. package.json 생성

해당 라이브러리는 node.js 기반이기 때문에

package.json이 없으면 정상적으로 실행되지 않습니다

프로젝트 루트 경로에 package.json을 만들고 {}만 작성해주면 준비 끝!

4. changelog generate 실행

changelog generate

5. 생성 파일 확인

그런데 여기서 문제가...


예시와 다르게 저의 CHANGELOG.md

...

type별로 구분되지 않고 모든 커밋 로그가 Other Changes에 모여있었습니다

뭐가 문제인지 찾고 찾고 또 찾다가

문제의 원인을 찾아냈습니다..!


generate-changelog는 기본적으로 Angular 커밋 컨벤션을 따르는데

저 또한 이 컨벤션을 따르고 있었습니다

그런데 딱 1가지 차이가 문제의 원인이 되었습니다

그것은 type과 콜론(:) 사이에 띄어쓰기였습니다...😅

type: ~type : ~

이 둘의 차이로 인해 제대로 파싱이 안되는 문제가 발생했던 것이었습니다


돌아보면 원인을 찾아서 다행이었다고 생각합니다

시도하고, 문제를 만나고, 해결하려고 노력하는 과정이

가장 빠르게 배우는 방법이라고 피부로 느끼는 순간이었습니다!

0개의 댓글