티스토리 뷰
commit 메세지를 잘 적으면 나중에 변경 사항을 살펴보기 쉽다. commit 메세지를 효율적이고 통일되게 적고 싶어서 한 번 정리를 하려고 했는데 드디어 하게 되었다! 😀 여기에 깃모지를 붙여서 사용해야지!
commit 메시지를 적을 때 지키면 좋은 점
대문자와 구두점
첫 번째 단어는 대문자로 쓰고 마지막에 구두점을 쓰지 않는다. 일반 커밋(git commit -m <내용>)을 사용하는 경우 모두 소문자로 작성해야한다.
줄 바꿈
제목과 내용 사이에 공백을 두는 것이 좋다.
내용의 문단이 달라질 때는 문단 사이에 공백을 두는 것이 좋다.
분위기
제목 줄에서 명령적인 분위기를 사용한다. ( 예 : Add fix for dark mode toggle state )
commit 타입
commit 타입을 지정한다. 변경 사항을 설명하기 위해 일관된 단어 집합을 사용하는 것이 권장된다.
( 예: Bugfix, Update, Refactor, Bump 등 )
길이
제목은 50자를 초과하지 않아야 하며 본문은 72자로 제한되어야 한다. 제목은 50자를 넘어가면 github에서 줄바꿈표가 생긴다.
내용
아마도, 내 생각에는, ~것 같다 등의 어휘를 사용하지 않는다. 변경할 것이 아닌 변경된 것에 대해 적는다.
필요하다면 -이나 들여쓰기를 사용할 수 있다.
무엇을 왜 변경했는지를 적으면 좋다.
- Why have I made these changes? - 왜 변경했는가 ?
- What effect have my changes made? - 변경 후 어떻게 변화했는가 ?
- Why was the change needed? - 변경이 왜 필요했는가 ?
- What are the changes in reference to? - 무엇과 관련하여 변경했는가 ?
오타
오타가 없는지 꼼꼼하게 확인한다.
commit 타입 분류
commit 타입 분류는 간결한 설명을 위해 모두 소문자여야 한다.
- feat – a new feature is introduced with the changes ( 새로운 기능이 도입되었을 때 )
- fix – a bug fix has occurred ( 버그를 고쳤을 때 )
- chore – changes that do not relate to a fix or feature and don't modify src or test files (for example updating dependencies) ( src나 테스트 파일의 수정이 없고 수정이나 기능에 관계없이 변경사항이 있을 때, 예 : 디펜던시가 업데이트 되었을 때)
- refactor – refactored code that neither fixes a bug nor adds a feature ( 버그를 고치거나 새로운 기능을 추가한게 아닌 코드를 리팩토링 했을 때 )
- docs – updates to documentation such as a the README or other markdown files ( 리드미와 같은 문서를 업데이트 했을 때 )
- style – changes that do not affect the meaning of the code, likely related to code formatting such as white-space, missing semi-colons, and so on. ( 로직에는 변화가 없고 공백이나 세미콜론 같은 코드 형식에 변화가 있을 때 )
+ 또는 CSS 스타일의 변화가 생겼을 때 사용해도 되는 것 같다. - test – including new or correcting previous tests ( 새로운 테스트를 짜거나 기존 테스트를 고쳤을 때 )
- perf – performance improvements ( 성능이 향상 됐을 때 )
- ci – continuous integration related ( CI와 연관이 있을 때 )
- build – changes that affect the build system or external dependencies ( 빌드 시스템이나 외부 디펜던시가 바뀌었을 때 )
- revert – reverts a previous commit ( 이전 커밋으로 되돌릴 때 )
conventional commit 예시
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
fix: fix foo to enable bar -> 소문자
This fixes the broken behavior of the component by doing xyz.
BREAKING CHANGE -> 큰 변화에 대해 설명할 수 있다.
Before this fix foo wasn't enabled at all, behavior changes from <old> to <new>
Closes D2IQ-12345 -> 푸터를 선택적으로 사용할 수 있다.
commit 컨벤션 가이드라인은 README 파일에 적어두는 것이 좋다.
좋은 commit log와 나쁜 commit log 비교
--Good--
feat: improve performance with lazy load implementation for images
chore: update npm dependency to latest version
Fix bug preventing users from submitting the subscribe form
Update incorrect client phone number within footer body per client request
--Bad--
fixed bug on landing page
Changed style
oops
I think I fixed it this time?
empty commit messages
그동안 commit 컨벤션을 지켜 적고 있었는데 보편적인 방식에서 틀린 부분이 있었던 걸 알게 됐다. 이제부터는 commit 타입도 소문자로 적고 제목과 본문을 한 줄 띄워줘야겠다. 본문도 왜 바꿨는지를 넣어서 구체적으로 적어야겠다. 타입도 더 명확하게 사용할 수 있을 것 같다.
'TIL' 카테고리의 다른 글
TIL 230308 객체지향 프로그래밍(OOP)과 함수형 프로그래밍(FP)은 무엇인가.. (0) | 2023.03.08 |
---|---|
TIL 230304 초심으로 돌아가서~ (0) | 2023.03.04 |
TIL 230209 최대공약수와 최소공배수 with Python (0) | 2023.02.09 |
TIL 230129 Redux action any 해결하기 in TS (Parameter 'action' implicitly has an 'any' type.) (0) | 2023.01.29 |
TIL 230128 git 다른 브랜치 받아오기 (0) | 2023.01.28 |
- Total
- Today
- Yesterday
- 비주얼스튜디오코드
- 구름에듀
- js
- 자바스크립트
- 깃
- git
- 파이썬
- 저스트코드
- 드림코딩
- CSS
- vue
- vscode
- scss
- 리액트
- 타입스크립트
- 스파르타코딩클럽
- React
- 코드잇
- Python
- 제로초
- map
- 제이쿼리
- Typescript
- 김버그
- html
- Til
- 회고
- 코딩앙마
- TS
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |