프로젝트 소개
Commitizen은 커밋이 생성되는 동안 팀이 커밋 메시지 규칙을 적용하고 전달하도록 돕습니다. 잘못된 메시지를 거부하는 훅을 기다리는 대신, 기여자는 필요한 필드에 대한 프롬프트에 응답하고 선택한 어댑터가 형식화된 커밋 메시지를 생성합니다.
이 도구는 npm을 통해 배포되며 npm install -g commitizen으로 전역 설치하거나, npx cz로 직접 실행하거나, 프로젝트 devDependency로 설치하여 모든 기여자가 동일한 버전을 사용하도록 할 수 있습니다. 설정된 저장소에서 사용자는 git commit 대신 git cz, cz, 또는 git-cz를 실행할 수 있습니다. 또한 npm 스크립트를 통해 노출될 수 있습니다.
저장소는 어댑터를 선택하여 Commitizen 친화적으로 만들어집니다. 문서화된 설정은 npm, Yarn, 또는 pnpm과 함께 commitizen init cz-conventional-changelog를 사용하며, 이는 어댑터를 설치하고 package.json에 저장하며 config.commitizen.path 설정을 추가합니다. 대신 .czrc 파일에 설정을 배치할 수도 있습니다. 어댑터 경로는 npm 패키지, 로컬 JavaScript 파일, index.js를 포함하는 디렉토리, 상대 경로, 또는 절대 경로를 확인할 수 있습니다.
Commitizen은 어댑터 기반이므로 프로젝트는 cz-conventional-changelog, cz-customizable, cz-emoji, cz-commitlint, cz-git, Jira 지향 어댑터와 같은 공개 옵션을 사용하거나 자체 어댑터를 구축할 수 있습니다. 사용자 정의 어댑터는 Inquirer.js 인스턴스를 수신하고 commit 콜백을 통해 최종 커밋 문자열을 반환합니다.
일반 git commit 중에 프롬프트가 나타나기를 원하는 관리자를 위해 Commitizen은 --hook 옵션을 사용하여 prepare-commit-msg Git 훅에서 호출될 수 있습니다. README는 전통적인 Git 훅과 Husky에 대한 예제를 제공하며, 훅이 대화형이 될 수 있도록 /dev/tty에서 입력을 리디렉션하는 방법을 포함합니다. Commitizen은 커밋 훅 및 관련 도구와 함께 작동하도록 설계되었으며 이를 대체하지 않습니다.
다른 기능으로는 여러 저장소에서 사용할 수 있도록 ~/.czrc를 통한 전역 설정, git cz -a와 같은 표준 git commit 옵션 지원, 팀이 고정된 어댑터로 Commitizen을 부트스트랩하는 작은 사용자 정의 Node.js CLI를 게시할 수 있는 다중 저장소 패턴이 있습니다. git cz --retry 명령은 실패한 훅 또는 테스트 실행 후 이전에 시도한 커밋을 재사용할 수 있으며, 재시도 데이터는 저장소 경로에 연결되고 업그레이드 또는 캐시 파일 삭제로 지워질 수 있습니다.
README는 테스트된 Node.js 버전 12, 14, 16을 나열하고 npm 6 이상을 요구하며, 이전 Node.js 버전에서도 작동할 수 있다고 언급합니다. 관련 프로젝트로는 변경 로그 생성을 위한 conventional-changelog와 커밋 메시지 린팅을 위한 commitlint가 언급됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.