-
Notifications
You must be signed in to change notification settings - Fork 0
Commit Message Conventions
etuhcarap edited this page Feb 13, 2025
·
1 revision
여러 개발자들의 작업이 반영되는 Project에서 서로의 작업분에 대한 이해 및 프로젝트 작업 이력 검색 시 가독성 있고 풍부한 정보를 제공하기 위해 Angular Project에서 권장하는 Commit Message Format에 대한 이해
Commit Message는 크게 세가지 섹션을 사용
- 신규 개발
- 버그 수정
- 유지보수로 인한 변경 사항
높은 가독성과 검색 시 더 많은 정보 제공을 위해 변경/추가/삭제 등의 행위 대상을 표현
예를 들면
Fix small typo in docs widget (tutorial instructions)
Fix test for scenario.Application - should remove old iframe
Replaced double line break with single when text is fetched from Google
이러한 메시지는 어떤 위치에 변경이 발생하였는지 표현하려 했지만,
fix comment stripping
fixing broken links
Bit of refactoring
Check whether links do exist and throw exception
Fix sitemap include (to work on case sensitive linux)
이러한 메세지에서는 작업 대상을 확인 할 수 없어, 검색을 위한 Commit message로써의 역할 수행이 어렵다.
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
- feat : feature, 기능 개발
- fix : bug fix, 버그 수정
- refactor : refactoring, 코드 개선
- docs : documentations, 문서 작성
- test : when adding missing tests, 누락된 테스트를 추가할 때
- style : code formatting, add missing expresstion ...
- chore : 잡일 (maintain: 유지)
- 예를 들면
feat: 댓글 목록을 포함하는 게시글 검색 API 구현 fix: 유효하지 못한 게시글 생성 요청의 잘못된 응답 문구 수정 docs: 공통 페이징 응답 구조를 위한 문서 작성 refactor: 불변성을 가져야하는 입력 파라미터에 final 처리 test: Enum으로 정의된 상태 코드의 문서 생성을 위한 TC 작성 style: 명확하지 않은 네이밍으로 인한 공통 요청/응답 객체명 변경 chore: 미 사용 설정 파일 삭제
- Example : $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, etc ... (Angular)
- issue number로 대체하거나 다른 대체 범위가 어떤 것이 될 수 있을 지 고민해 볼 수 있다.
- 예를 들면
feat(#1): 댓글 목록을 포함하는 게시글 검색 API 구현 fix(#2): 유효하지 못한 게시글 생성 요청의 잘못된 응답 문구 수정 docs(#3): 공통 페이징 응답 구조를 위한 문서 작성 refactor(#4): 불변성을 가져야하는 입력 파라미터에 final 처리 test(#5): Enum으로 정의된 상태 코드의 문서 생성을 위한 TC 작성 style(#6): 명확하지 않은 네이밍으로 인한 공통 요청/응답 객체명 변경 chore(#7): 미 사용 설정 파일 삭제
- 변경 사항에 대한 간결한 설명
- 명령형, 현제 시제를 이용한 마침표 없는 문장으로 구성
- 권장 : 변경
- 비 권장 : 변경함, 변경됨
- 예를 들면
- feat(#1):
댓글 목록을 포함하는 게시글 검색 API 구현 - fix(#2):
유효하지 못한 게시글 생성 요청의 잘못된 응답 문구 수정 - docs(#3):
공통 페이징 응답 구조를 위한 문서 작성 - refactor(#4):
불변성을 가져야하는 입력 파라미터에 final 처리 - test(#5):
Enum으로 정의된 상태 코드의 문서 생성을 위한 TC 작성 - style(#6):
명확하지 않은 네이밍으로 인한 공통 요청/응답 객체명 변경 - chore(#7):
미 사용 설정 파일 삭제
- feat(#1):
- 변경 목적, 참조 근거와 이전 작업(AS-IS로 부터 TO-BE로 변경된)과의 구현 차이를 포함
- 일반적으로 글머리 기호(-, *)를 사용하여 표현
- 명령형, 현제 시제를 이용한 문장으로 구성
- 주요 변경 사항에 대한 설명
- 작업 종료시, ‘Closes #{issue no}’를 이용하여 연관된 issue(ticket)에 대한 참조
build(#1): 회원 가입 구현을 위한 spring-security 의존성 추가
config(#1): spring-security 기본 보안 정책 설정
기본 보안 정책 구성을 위한 WebSecurityConfig 생성
- csrf, formLogin, httpBasic 미 사용 옵션 적용
- session 기반 인증/인가 전략 미 사용 옵션 적용
인증 없이 접근 가능한 기본 API에 대한 허용 정책 정의
- /sign-up, /sign-in
feat(#1): 회원 도메인 객체 정의
- User, Role 엔티티 및 기본 필드 정의
- Auditing을 위한 BaseEntity 추가
- UserType Enum 클래스 정의
feat(#1): CUSTOMER 사용자 계층 회원 가입 Service 구현
- 회원 가입 요청 객체 정의
- 회원 가입 시 발생하는 예외 처리를 위한 Custom Exception 및 Custom Error Code 정의
- 회원 계층에 따른 회원 가입 로직 분리를 위한 interface 정의
feat(#1): 회원 가입 API 구현
- 회원 가입 요청 Path 정의
- 회원 가입 시 이메일, 닉네임 항목에 대한 유효성 검증 부 구현
| type name | description |
|---|---|
| feat | 새로운 기능에 관한 커밋 |
| enhance | 기능 개선, 정책 변경으로 인한 기능 수정 등의 커밋 |
| refactor | 기능 변경이 없는 코드 리팩토링에 관한 커밋 |
| perf | 성능 개선에 관한 커밋 |
| test | 테스트 코드에 관한 커밋 |
| fix | 버그 수정에 관한 커밋 |
| revert | 잘못된 커밋을 되돌리는 커밋 |
| build | 빌드 관련 파일 혹은 모듈 설치, 삭제에 관한 커밋 |
| ci | ci 관련 설정에 관한 커밋 |
| docs | 문서에 관한 커밋 |
| config | 프로젝트 환경 설정에 관한 커밋 |
| style | 코드 스타일 혹은 포맷 등에 관한 커밋 |
| chore | 자잘한 수정에 대한 커밋 |