부트캠프에서 첫 미션이 주어졌다. 구현 하고 과제 제출을 하려는데, 다른사람들 커밋 메시지가 정형화 되어 있는 것 같았다
깃에도 코드 컨벤션이 있었던가??
Udacity Nanodegree Style Guide 나만 몰랐던 걸로..😂
메시지 구조
type: Subject
body
footer
3가지 영역(제목, 본문, 꼬리말)으로 나누어졌다.
Type
소문자로 작성한다.
feat
: 새로운 기능 추가fix
: 버그 수정docs
: 문서 내용 변경style
: 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 등refactor
: 코드 리팩토링test
: 테스트 코드 작성chore
: 빌드 수정, 패키지 매니저 설정, 운영 코드 변경이 없는 경우 등
Subject
최대 50글자가 넘지 않고, 마침표와 특수기호는 사용하지 않는다.
영문 표기 시, 첫글자는 대문자로 표기하며 과거시제를 사용하지 않는다. 그리고 간결하고 요점만 서술해야 한다.
Added (X) → Add (O)
Body (본문)
Body (본문)
은 최대한 상세히 적고, 무엇
을 왜
진행했는 지 설명해야 한다. 만약 한 줄이 72자가 넘어가면 다음 문단으로 나눠 작성하도록 한다.
Footer (꼬리말)
Footer (꼬리말)
은 이슈 트래커의 ID를 작성한다.
어떤 이슈와 관련된 커밋인지(Resolves), 그 외 참고할 사항이 있는지(See also)로 작성하면 좋다.
예시
Feat: "추가 로그인 함수"
로그인 API 개발
Resolves: #123
Ref: #456
Related to: #48, #45
Gitmoji
gitmoji | An emoji guide for your commit messages
위의 원칙을 준수하되. type을 이모지(emoji)로 표현하는 스타일이다.
Intellij 에도 설치 할 수 있다
커밋 메시지 Emoji
Emoji | Description |
🎨 | 코드의 형식 / 구조를 개선 할 때 |
📰 | 새 파일을 만들 때 |
📝 | 사소한 코드 또는 언어를 변경할 때 |
🐎 | 성능을 향상시킬 때 |
📚 | 문서를 쓸 때 |
🐛 | 버그 reporting할 때, |
🚑 | 버그를 고칠 때 |
🐧 | 리눅스에서 무언가를 고칠 때 |
🍎 | Mac OS에서 무언가를 고칠 때 |
🏁 | Windows에서 무언가를 고칠 때 |
🔥 | 코드 또는 파일 제거할 때 , |
🚜 | 파일 구조를 변경할 때 . 🎨과 함께 사용 |
🔨 | 코드를 리팩토링 할 때 |
☔️ | 테스트를 추가 할 때 |
🔬 | 코드 범위를 추가 할 때 |
💚 | CI 빌드를 고칠 때 |
🔒 | 보안을 다룰 때 |
⬆️ | 종속성을 업그레이드 할 때 |
⬇️ | 종속성을 다운 그레이드 할 때 |
⏩ | 이전 버전 / 지점에서 기능을 전달할 때 |
⏪ | 최신 버전 / 지점에서 기능을 백 포트 할 때 |
👕 | linter / strict / deprecation 경고를 제거 할 때 |
💄 | UI / style 개선시 |
♿️ | 접근성을 향상시킬 때 |
🚧 | WIP (진행중인 작업)에 커밋, |
💎 | New Release |
🔖 | 버전 태그 |
🎉 | Initial Commit |
🔈 | 로깅을 추가 할 때 |
🔇 | 로깅을 줄일 때 |
✨ | 새로운 기능을 소개 할 때 |
⚡️ | 도입 할 때 이전 버전과 호환되지 않는 특징, |
💡 | 새로운 아이디어, |
🚀 | 배포 / 개발 작업 과 관련된 모든 것 |
🐘 | PostgreSQL 데이터베이스 별 (마이그레이션, 스크립트, 확장 등) |
🐬 | MySQL 데이터베이스 특정 (마이그레이션, 스크립트, 확장 등) |
🍃 | MongoDB 데이터베이스 특정 (마이그레이션, 스크립트, 확장 등) |
🏦 | 일반 데이터베이스 별 (마이그레이션, 스크립트, 확장명 등) |
🐳 | 도커 구성 |
🤝 | 파일을 병합 할 때 |
커밋 메시지를 일괄 수정하고 force push를 해서 바꾸었다.
컨벤션을 완전히 따르진 않았고, 나만의 기준점을 정해서 작성해보았다.
이모지가 들어가니까 예쁘긴 한데, 아이콘이 많다보니 적응하는데 시간이 걸릴 듯 하다.
지금까지 별 생각없이 나만 볼꺼 툭 던졌었는데, 지금 보니까 부끄럽다...
팀 프로젝트 할때 코드 컨벤션과 함께 깃도 약속을 해놓으면 도움이 될 것 같다.