팀 프로젝트를 진행함에 있어 깃헙 사용은 필수라서 commit, push, pull, merge, pull request 등 기본적인 것들은 할 수 있게 되었지만 그 외에 것들은 잘 몰랐는데 이번 프로젝트에서 깃 이슈와 깃 컨벤션을 사용해서 제대로 짚고 넘어가야 할 것 같다고 생각되어 정리해보기..
Git Convention
깃 컨벤션은 팀 프로젝트에 있어서 원활한 소통을 위해 커밋 메세지의 양식을 정해두는 것이다.
기업마다 정해진 컨벤션이 다른데 아래의 예시는 Git 공식 문서를 참고하여 "Udacity" 스타일을 기반으로 작성되었다.
커밋 메세지 형식
type: Subject
body
footer
기본적으로 제목, 본문, 꼬리말 이렇게 3가지 영역으로 나뉜다.
메세지 타입은 아래와 같고 소문자로 작성한다.
- feat : 새로운 기능 추가
- fix : 버그 수정
- docs : 문서 내용 변경
- style : 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 등
- refactor : 코드 리팩토링
- test : 테스트 코드 작성
- chore : 빌드 수정, 패키지 매니저 설정, 운영 코드 변경이 없는 경우 등
Subject 제목
제목은 최대 50글자가 넘지 않아야 하며 마침표와 특수 기호를 사용하지 않는다.
영문 표기 시, 첫 글자는 대문자로 표기하며 과거시제를 사용하지 않는다. 간결하고 요점만 서술!
Body 본문
본문은 최대한 상세히 적고, 무엇을 왜 진행했는지 설명해야 한다.
만약 한 줄이 72자가 넘어간다면 다음 문단으로 나눠 작성하도록 한다.
Footer 꼬리말 (optional)
꼬리말은 이슈 트래커의 ID를 작성한다.
꼬리말은 "유형 : #이슈 번호" 형식으로 사용하며 여러 개의 이슈 번호를 적을 때는 쉼표(, )로 구분한다.
어떤 이슈와 관련된 커밋인지(resolves), 그 외 참고할 사항이 있는지 (See also)로 작성한다.
이슈 트래커 유형 >
- Fixes : 이슈 수정 중 (아직 해결되지 않은 경우)
- Resolves : 이슈를 해결했을 때 사용
- Ref : 참고할 이슈가 있을 때 사용
- Related to : 해당 커밋에 관련된 이슈 번호 (아직 해결되지 않은 경우)
ex ) Fixes: #45 Related to: #34, #23
커밋 메세지 예시
Feat: "회원 가입 기능 구현"
SMS, 이메일 중복확인 API 개발
Resolves: #123
Ref: #456
Related to: #48, #45
위는 최근 프로젝트를 진행하며 남긴 커밋들 중 한 부분이다.
커밋 메세지 이모지
커밋 메세지에 이모티콘을 사용하면 사용된 이모티콘만 보고 커밋의 목적이나 의도를 쉽게 식별 할 수 있다.
🎨 | 코드의 형식 / 구조를 개선 할 때 |
📰 | 새 파일을 만들 때 |
📝 | 사소한 코드 또는 언어를 변경할 때 |
🐎 | 성능을 향상시킬 때 |
📚 | 문서를 쓸 때 |
🐛 | 버그 reporting할 때, @FIXME 주석 태그 삽입 |
🚑 | 버그를 고칠 때 |
🔥 | 코드 또는 파일 제거할 때 , @CHANGED주석 태그와 함께 |
🚜 | 파일 구조를 변경할 때 . 🎨과 함께 사용 |
🔨 | 코드를 리팩토링 할 때 |
💄 | UI / style 개선시 |
♿️ | 접근성을 향상시킬 때 |
🚧 | WIP (진행중인 작업)에 커밋, @REVIEW주석 태그와 함께 사용 |
💎 | New Release |
🔖 | 버전 태그 |
✨ | 새로운 기능을 소개 할 때 |
⚡️ | 도입 할 때 이전 버전과 호환되지 않는 특징, @CHANGED주석 태그 사용 |
💡 | 새로운 아이디어, @IDEA주석 태그 |
🚀 | 배포 / 개발 작업 과 관련된 모든 것 |
용도와 의미에 대해 더 자세히 알고 싶다면 아래 사이트 참고
🔗 포스팅 참고 블로그, 글 출처
'Git' 카테고리의 다른 글
Github Actions의 환경 변수 참조 에러 Github Secrets 사용으로 해결하기 (0) | 2024.10.18 |
---|---|
[🐙 Git & Github] 깃 명령어 사용해서 특정 브랜치로 이동하기 (2) | 2024.10.07 |
[💡 트러블 슈팅] Github에서 머지 충돌 일어났을 때 해결하기 Can't automatically merge (0) | 2024.10.02 |
[🐙 Git & Github] 깃헙 이슈 이해하기 + Issue & PR Template 만들기 (1) | 2024.09.26 |
[🐙 Git & Github ] Github Actions 을 활용한 CI/CD 파이프라인 구성하기 (0) | 2024.08.17 |