카테고리 없음
깃 커밋 메시지 컨벤션 (Git Commit Message Convention)
JUN0126
2022. 4. 13. 21:35
깃 커밋 메시지 컨벤션 (Git Commit Message Convention) 이란?
- 버전 관리 시스템에서 여러명의 개발자와 함께 코드를 구현하고 여러 작업물들을 관리 할 떄 각 팀원들 끼리 커밋 내역을 명시적으로 확인할 수 있고 쉽게 관리 될 수 있도록 지켜지는 메세지 규약이다.
- 커밋 메시지 컨벤션 규약은 여러 가지로 나뉘어져 있지만 필자는 AngularJS Git Commit Message Conventions을 토대로 메시지 컨벤션에 대한 글을 작성하려 합니다.
AngularJS Git Commit Message Conventions
커밋 메세지는 header, body, footer로 이루어져 있으며, 공백줄을 기준으로 구분 됩니다.
Commit Message 규약
<type>(<scope>): <short summary> | header
<BLANK LINE>
<body> | body
<BLANK LINE>
<footer> | footer
- 커밋 메세지는 읽기 쉽도록 100자를 넘기지 않아야 합니다.
type
해당 커밋이 어떠한 종류인지를 작성하는 구간
feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 작성
style : 코드 포매팅, 스펠링 오류, 세미콜론 추가 등
refactor : 리팩토링
test : 테스트 관련 코드
chore : 추가 유지보수 및 자잘한 수정
// 9버전 이후 chore 삭제 후 하위 3가지 type 추가
build : 빌드 관련 파일 수정
ci : CI 설정 파일 수정
perf : 성능 개선
scope
변경된 위치를 작성 하는 구간
- 추가된 클래스 명이나 추가 및 변경된 메소드 명을 적는 공간
- scope는 생략 가능
short summary
변경 내용을 간략하게 작성하는 구간
- 명령문, 현재 시제로 작성
- 대문자를 사용하지 않음
- 마침표로 끝내지 않음
Revert
- 커밋이 이전 커밋을 되돌리는 경우 헤더는 "revert:"로 시작하고 그 뒤에 되돌린 커밋의 헤더가 와야 합니다.
메시지 내용 (Message Body)
- 명령문, 현재 시제 작성
- 변경한 이유와 변경 전과의 차이점을 설명한다.
메시지 하단 (Message Footer)
주요 변경 내역들 (Breaking Changes)
모든 주요 변경 내역들은 다음과 함께 하단에 언급
변경점 (description of the change) 변경 사유 (justification) 마이그레이션 지시 (migration instructions)
해결된 이슈 (Referencing Issues)
해결된 이슈는 커밋 메시지 하단에 Closes #<이슈번호> 와 같이 기록
EX)
Closes #223
원본 참조 : Commit Convention
블로그 참조 : outstanding님 블로그