첫 페어 프로그래밍을 하며 그동안 얼마나 근본 없는 커밋 메세지를 날렸는지 느끼며 커밋, 코드 컨벤션에 대해 정리해봤습니다.
컨벤션을 함께 지킬 팀원들이 공유한 사이트들을 참고하여 작성했습니다.
컨벤션은 협약이라는 의미처럼 여러 사람이 지켜야 할 일종의 룰입니다. 따라서 개발자들이 협업 과정에서 컨벤션을 지킨다면 다음과 같은 이점이 있습니다.
커밋 컨벤션은 git 커밋 메세지를 위한 컨벤션입니다. git 커밋을 이용해 더 나은 로그 가독성, 리뷰 프로세스, 코드 유지 보수를 할 수 있습니다.
커밋 메세지는 제목, 본문, 꼬리말로 구성되어 있고 각자 빈 줄을 두어 구분합니다. 제목을 제외한 나머지는 옵션이지만 웬만하면 지키고 싶어 옵션을 지웠습니다. ( 꼬리말은 제외
)
타입 : [#이슈 번호 - ] 제목
본문
꼬리말(옵션)
커밋 메세지가 어떤 의도를 가진 메세지인지 알립니다.
태그와 제목으로 구성되어 있고 사용법은 태그: 제목의 형태입니다. (: 뒤에만 space가 있다 !
)
태그 | 의도 | 태그 | 의도 |
---|---|---|---|
✔️ Feat | 새 기능 추가 | ✔️ Fix | 버그 수정 |
✔️ Design | CSS, UI 변경 | ✔️ Style | 포맷 변경 등 코드 수정이 없는 경우 |
✔️ Refactor | 코드 리팩토링 | ✔️ Comment | 주석 추가 |
✔️ Docs | 문서 수정 | Test | 테스트 추가, 리팩토링 |
✔️ Rename | 파일명 수정, 이동 | ✔️Remove | 파일 삭제 |
Chore | 패키지 매니저 설정 | !HOTFIX | 급한 버그 수정 |
!BREAKING CHANGE |
커다란 API 변경 |
제목은 메세지의 짧은 요약입니다. 다음과 같은 규칙을 가집니다.
Feat: "추가 Infinty Scroll 기능"
본문은 다음과 같은 규칙을 가집니다.
Feat: "추가 Infinity Scroll 기능"
- react-intersection-observer 패키지 사용
- intersection 관측 시 다음 page API 호출
"유형: #이슈 번호"
Feat: "추가 Infinity Scroll 기능"
- react-intersection-observer 패키지 사용
- intersection 관측 시 다음 page API 호출
Reslves: #321