🐈⬛ Git | GitHub
[Git/GitHub] Git Commit Convention, 깃 커밋 규칙
별이⭐
2024. 9. 20. 15:28
📌 Commit Convention
🧐 Commit Rules
- 커밋을 잘게 쪼개자 - 커다란 커밋보단 너무 상세하더라도 작은 커밋이 더 낫다.
- 복잡한 커밋 보단 간단한 커밋 - 한 커밋의 한 파일에서 2가지 액션이 들어가는 순간, 해당 커밋은 복잡한 커밋이 된다. (커밋의 type을 섞지 말자)
- 원격 저장소에 수시로 push - 내 작업물을 수시로 서버에 push해 다른 사람들이 확인할 수 있도록 한다.
📃 Commit Message 구조
Udacity Nanodegree Style Guide
Udacity Nanodegree Style Guide
Introduction This style guide acts as the official guide to follow in your projects. Udacity evaluators will use this guide to grade your projects. There are many opinions on the "ideal" style in the world of development. Therefore, in order to reduce the
udacity.github.io
커밋 메시지 구조는 제목, 본문(선택), 꼬리말(선택)
세 부분으로 작성한다.
Type: Subject(제목)
Body(본문)
Footer(꼬리말)
📌 Type Rule
Tag Name | Description |
---|---|
feat | 새로운 기능 추가 |
fix | 버그 수정 |
docs | 문서 수정 |
style | 코드 포맷 변경, 세미콜론 누락, 코드 변경이 없는 경우 |
refactor | 프로덕션 코드 리팩토링 |
test | 테스트 코드 추가, 리팩토링 테스트 코드 추가, 프로덕션 코드(실제로 사용하는 코드) 변경이 없는 경우 |
design | CSS 등 사용자 UI 디자인 변경 |
init | 프로젝트 초기 생성 |
rename | 파일 혹은 폴더명을 수정하거나 옮기는 작업만 수행하는 경우 |
remove | 코드(파일)를 삭제하는 작업만 수행하는 경우 |
comment | 필요한 주석 추가 및 변경 |
chore | 위에 걸리지 않는 기타 변경사항(빌드 스크립트 수정, assets image, 패키지 매니저 등), 관리, 핵심 내용은 아닌 잡일 등 |
🖇️ Subject Rule
- 제목은 50자 이내로 작성
- 첫 글자는 대문자, 명령문 사용
- 마침표 및 특수 문자는 사용 X
- 개조식 구문으로 작성 (간결하고 요점적인 서술)
✏️ Body Rule
- 한 줄당 72자 이내로 작성
- 최대한 상세히 작성 (코드 변경의 이유를 명확히 작성할수록 좋다)
- 어떻게 보다는 무엇을, 왜 변경했는지에 대해 작성
✒️ Footer Rule
- 이슈 트래커 ID 작성
이슈 트래커 유형: #이슈번호
형식으로 작성- 여러 개의 이슈 번호는 ,로 구분
- 이슈 트래커 유형은 다음 중 하나를 사용
이슈 트래커 유형 | 설명 |
Related to | 해당 커밋에 관련된 이슈 번호 (아직 해결되지 않은 경우) - PR 시 자동으로 이슈 닫히지 않음 |
Resolves | 이슈를 해결한 경우 - PR 시 자동으로 이슈 닫힘 |
Ref | 참조할 이슈가 있는 경우 - PR 시 자동으로 이슈 닫히지 않음 |
📰 Commit 예시
feat: 로그인 기능 추가
필요하다면 더 자세한 설명을 서술한다. 한 줄 당 72자 이내로 작성한다.
이 커밋이 해결한 문제에 관해 설명한다. 어떻게 문제를 해결했는지 설명하기보다는 왜 이런 변화를 만들었는가에 집중한다. ("어떻게"는 코드가 설명한다.)
이 내용을 여기에서 설명한다.
문단을 더 추가하고 싶다면 문단 사이에 빈 행을 넣는다.
- 개조식 서술도 괜찮음
- 블릿(bullet)으로 하이픈(-)이나 별표(*)를 사용하고, 한 칸의 공간을 띄고 시작하며, 각 항목 사이 빈 행을 넣는 방식이 일반적이나 다양한 관례가 있음
Resolves: #123
Ref: #456, #789