지난주 제출한 계산기 과제를 기반으로 피드백을 2가지 받았다. 2가지 피드백은 전부 git을 통한 협업과 관련된 피드백이었는데, 사실 제출하고 나서 git convention 등에 대한 설명을 들어서 이런 피드백이 올 것이라곤 예상했었다!
이 기회를 살려 앞으로 어떤식으로 작성해볼지에 대해 공부하고 정의하는 시간을 가질 수 있을 것 같다.
1. 깃 커밋 컨벤션, 왜 사용할까?
커밋 컨벤션을 지정해서 사용하는 이유는 다양하지만, 크게 2가지를 꼽자면 아래의 2개라고 생각한다.
1. 가독성 및 커뮤니케이션 효율성 제고
일관된 형태의 커밋 메시지는 가독성이 높다. 그렇기 때문에 다른 개발자의 작업 내역 및 변경 사항들을 쉽게 파악가능하다.
2. 변경 이력 추적 및 문제 해결 속도 향상
일관된 커밋 메시지를 통해 소스 변경 이력을 효율적으로 추적할 수 있다. 이를 통해 문제 발생시 보다 빠르게 원인을 찾아 해결할 수 있다. -> 전반적인 프로젝트 안전성을 높일 수 있다.
2. 작성 요령
기본적인 커밋 메시지 구조
<타입>[적용 범위(선택 사항)]: <설명>
[본문(선택 사항)]
[꼬리말(선택 사항)]
설명은 title 전체 기준 50자 이내로 작성한다.
간결하고 요점적으로 작성하는것이 포인트다.
→ 개조식( 글을 쓸 때 짧게 끊어서 중요한 요점이나 단어를 나열하는 방식)구문으로 작성한다.
예시
<type> <설명>
♻️[Refactor] 숫자 입력 간결화
3. Type
- feat: 새로운 기능 추가
- fix: 버그 수정
- docs: 문서 관련 수정사항
- style: 서식 지정, 세미콜론 누락 등 (코드 상의 변경은 없다.)
- refactor: 코드 리팩토링(Production code)
- test: 테스트 추가, 테스트 코드 리팩토링 등 테스트와 관련된 것 ( Production code는 변경 없다.)
- chore: 빌드 작업, 패키지관리자 구성 등 위의 사항들을 제외한 중요도가 낮은 기능들.
4. GitEmoji😀
깃 이모지에서 제공하는 이모지들. 사이트에 들어가면 원하는 아이콘을 쉽게 사용할 수 있다.
그들 중 주요 사용되는 기능들만 표로 가져와 봤다.
이모지 | 설명 |
🎨 | 코드의 형식 / 구조를 개선 할 때 |
📰 | 새 파일을 만들 때 |
📝 | 사소한 코드 또는 언어를 변경할 때 |
🐎 | 성능을 향상시킬 때 |
📚 | 문서를 쓸 때 |
🐛 | 버그 reporting할 때, @FIXME 주석 태그 삽입 |
🚑 | 버그를 고칠 때 |
🔥 | 코드 또는 파일 제거할 때 , @CHANGED주석 태그와 함께 |
🚜 | 파일 구조를 변경할 때 . 🎨과 함께 사용 |
🔨 | 코드를 리팩토링 할 때 |
☔️ | 테스트를 추가 할 때 |
💚 | CI 빌드를 고칠 때 |
🔒 | 보안을 다룰 때 |
💄 | UI / style 개선시 |
✨ | 새로운 기능을 소개 할 때 |
🚀 | 배포 / 개발 작업 과 관련된 모든 것 |
5. 쓰기로 결정한 주요 기능
Tag | Emoji | Description |
Feat | ✨ | 새로운 기능 추가 |
Fix | 🐛 | 버그 수정 |
!HOTFIX | 🚑️ | 급하게 치명적인 버그를 고쳐야하는경우 |
Docs | 📝 | 문서 수정 |
Style | 💄 | 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우 |
Refactor | ♻️ | 프로덕션 코드 리팩토링 |
Test | ✅ | 테스트 추가, 테스트 리팩토링(프로덕션 코드 X) |
Merge | 🔀 | 브랜치를 머지한다 |
Remove | 🔥 | 파일을 삭제하는 작업만 수행한 경우 |
Rename | 🚚 | 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우 |
gitignore | 🙈 | 깃이그노어 파일 관리 |
깃 컨벤션을 참고해서 작성한 프로젝트 : https://github.com/DEVxMOON/Bulls-and-Cows
페이지에 들어가서 Commit 이력을 확인해보면 된다.
해당 프로젝트에 대한 자세한 설명은 내일 업로드 할 예정이다.
한가지 꼭 기억해야할 점이 있다면... 언제나 커밋하기전 pull 받는 것을 생활화 하자..!
참고
'STUDY' 카테고리의 다른 글
[Git] .gitignore 사용법 (0) | 2024.04.23 |
---|