# git-cliff 로 커스텀한 changelog 를 생성할 수 있다.
#
https://github.com/orhun/git-cliff# 설치
brew install git-cliff
# 이제 git-cliff 또는 git cliff 명령을 사용할 수 있다.
# 설정파일(cliff.toml) 생성
# cliff.toml 에서 사용하는 template 엔진 tera 사용방법
vi cliff.toml
[git]
conventional_commits = false
filter_unconventional = false
# changelog 생성
# stdout 출력
git cliff
# CHANGELOG.md 파일로 출력
git cliff -o CHANGELOG.md
# 버전명시(v 로시작하는 것은 자동 cliff.toml에서 trim 처리)
# 버전명시 하지 않으면 [unreleased] 로 표시된다.
git cliff -o CHANGELOG.md -t v1.0.0
# 현재 태그에 대한 변경사항만 생성(새 태그 버전에서의 변경 사항만 파악할때 유용)
git cliff -o CHANGELOG.md --current
# v0.0.1 이후 HEAD까지의 변경사항 파악
git cliff v0.0.1..HEAD
# 특정 커밋(hash)부터 HEAD까지의 변경사항 파악
# 또는
git cliff 4c7b043..
#####
# commit 메시지 템플릿 적용 및 체크
# 참고 ~/.git/hooks 에 각종 hook sample 파일이 있다.
# hook 파일들도 푸시해서 관리하기 위해서 별도 hookPath 를 설정
git config core.hooksPath .githooks
# commit_message_template.txt 내용으로 커밋 메시지 생성
# 템플릿 파일 설정
git config commit.template .githooks/commit_message_template.txt
# git commit 실행시 처리 순서
2. prepare-commit-msg 에서 커밋 메시지 처리할 내용
3. (vim 으로) 커밋 메시지 작성
4. commit-msg 에서 메시지 규칙 체크