Google/Angular 커밋 컨벤션은 Git 커밋 메시지를 일관되게 작성하고, 소프트웨어 개발 프로젝트에서 코드 변경 이력을 추적하고 이해하기 쉽게 만드는 규칙입니다. 이 규칙을 따르면, 프로젝트 참여자들이 커밋 메시지를 일관되게 작성할 수 있어 코드의 변경 이력을 쉽게 파악할 수 있게 됩니다.
커밋 컨벤션의 필요성은 여러 가지 이유로 인해 증가했습니다. 협업하는 개발자들이 많아지고, 코드베이스가 복잡해짐에 따라 프로젝트의 가독성과 유지 보수성이 점차 중요해졌습니다. 또한, 자동화된 도구를 사용하여 릴리즈 노트를 생성하거나 버전 관리를 적용하는 경우, 커밋 메시지의 일관성이 필수적입니다.
커밋 컨벤션을 사용하면, 다음과 같은 이점을 얻을 수 있습니다:
1 .코드 변경 이력을 명확하게 파악할 수 있습니다.
2. 팀원들 간의 협업이 원활해집니다.
3. 신규 참여자들이 프로젝트를 이해하는 데 도움이 됩니다.
4. 자동화 도구를 활용한 버전 관리와 릴리즈 노트 생성이 용이해집니다.
따라서, 커밋 컨벤션은 소프트웨어 개발 프로젝트에서 효과적인 협업과 유지 보수를 가능하게 하는 중요한 요소입니다. 이를 따르면, 프로젝트 참여자들은 더욱 원활한 소통과 효율적인 작업이 가능해집니다.
이 컨벤션을 따르면, 코드의 변경 이력을 명확하게 추적할 수 있고, 자동화된 도구를 이용하여 버전 및 릴리즈 노트를 생성할 수 있습니다.
Google/Angular 커밋 컨벤션의 기본 구조는 다음과 같습니다.
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
<type>: 커밋의 유형을 나타냅니다. 일반적으로 사용되는 유형은 다음과 같습니다.
<scope> (선택 사항): 변경된 범위나 컴포넌트를 나타내는 단어입니다.
예를 들어, 어떤 모듈, 서비스 또는 컴포넌트에 해당하는지를 명시할 수 있습니다.
<subject>: 커밋 메시지의 제목으로, 간단하고 명확한 변경 내용을 설명합니다.
50자 이내로 작성하며, 대문자로 시작하고 마침표를 사용하지 않습니다.
<body> (선택 사항): 커밋의 상세한 변경 내용을 설명합니다.
각 줄은 72자 이내로 작성하며, 어떻게 변경되었는지와 왜 변경되었는지를 설명합니다.
<footer> (선택 사항): 관련 이슈나 패치를 참조하는 데 사용됩니다.
예를 들어, 이슈 트래커의 ID를 명시하거나, 이전 커밋과 관련된 내용을 작성할 수 있습니다.
feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 변경
style : 코드 스타일 변경 (포매팅 수정, 세미콜론 추가 등)
refactor : 코드 리팩토링
test : 테스트 코드 추가, 수정
chore : 빌드 프로세스, 도구 설정 변경 등 기타 작업
ex) commit message:
feat(auth): add login functionality
Add new login functionality to the authentication service. This allows users to log in using their email and password.
Closes #1234
이 컨벤션을 사용하면, 프로젝트의 커밋 메시지가 일관성을 유지하게 되고, 쉽게 코드 변경 이력을 확인할 수 있습니다.
https://www.conventionalcommits.org/ko/v1.0.0/
https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13