■ JITHub 개발일지 62일차
□ TIL(Today I Learned) ::
커밋 컨벤션(Commit Conventions), 이슈(Github Issue) 활용
1. 커밋 컨벤션(Commit Conventions)
신규 프로젝트에서는 기존보다 깃허브 커밋 컨벤션을 잘 지키기 위해 다시 정비하기로 했다.
※ 깃허브("Github") 컨벤션
- 커밋메시지는 제목, 본문, 꼬릿말 3개의 파트로 나누고, 사이에는 한 줄의 빈칸으로 구분한다.
제목 : Emoji Type: Subject (맨 앞은 동사원형, 첫 글자 대문자 표기) #IssueNumber
<br>
본문 : -1. 해당 파일 및 위치(무엇을)
-2. 변경된 내용(왜)
<br>
꼬릿말 : Issue tracker ID
- 커밋 제목은 아래와 같은 형식으로 쓰기로 한다.
:sparkles:Feat: 커밋 제목 #01 (이슈번호)
- 커밋 메시지 기본 양식은 아래와 같이 사용한다.
################
# <타입> : <제목> 의 형식으로 제목을 아래 공백줄에 작성
# 제목은 50자 이내 / 변경사항이 "무엇"인지 명확히 작성 / 끝에 마침표 금지
# 예) Feat : 로그인 기능 추가/ 맨 앞글자는 대문자로
# 바로 아래 공백은 지우지 마세요 (제목과 본문의 분리를 위함)
################
# 본문(구체적인 내용)을 아랫줄에 작성
# 여러 줄의 메시지를 작성할 땐 "-"로 구분 (한 줄은 72자 이내)
- 1. 무엇을?
- 2. 왜?
################
# 꼬릿말(footer)을 아랫줄에 작성 (현재 커밋과 관련된 이슈 번호 추가 등)
# 예) Close #7
- Type에서 사용되는 태그는 종류가 더 많지만 아래의 태그를 사용하도록 했다.
# 기능
# Feat : 새로운 기능 추가
# Fix : 버그 수정
# 개선
# Refact : 코드 리팩토링
# Style : 코드 의미에 영향을 주지 않는 변경사항
# 기타
# Docs : 문서 수정
# Test : 테스트 코드 추가
# Rename : 파일, 폴더명 또는 경로를 수정하는 경우
# Remove : 파일을 삭제할 경우
# Chore : 빌드 부분 혹은 패키지 매니저 수정사항
- 꼬릿말은 아래 이슈 트래커 유형을 선택하여 작성한다.
# 이슈트래커 유형
- Fixes: 이슈 수정중 (아직 해결되지 않은 경우)
- Resolves: 이슈를 해결했을 때 사용
- Ref: 참고할 이슈가 있을 때 사용
- Related to: 해당 커밋에 관련된 이슈번호 (아직 해결되지 않은 경우)
ex) Fixes: #45 Related to: #34, #23
※ 커밋 메시지 Emoji
Emoji | Description |
🎨 | 코드의 형식 / 구조 변경시 |
📰 | 새 파일 생성 |
📝 | 사소한 코드 변경 |
📚 | 문서 작성 |
🚑 | 버그 수정 |
🔥 | 코드/파일 제거시 (@CHANGED 태그 함께 사용) |
🔨 | 코드 리팩토링 |
☔️ | 테스트 생성 |
💄 | UI / style 개선시 |
💎 | New Release |
🎉 | Initial Commit |
🚀 | 배포 관련 |
🏦 | 일반 DB |
🐘 | PostgreSQL |
🐬 | MySQL |
🐳 | Docker |
2. 깃허브 이슈 활용(Github Issue)
- 깃허브에서 이슈는 프로젝트를 진행하며 발생하는 이벤트들을 관리하는 기능이다. 이슈에서는 발생한 버그를 수정하거나 추가 기능, 개선할 사항들을 이슈로 생성할 수 있다.
- 이슈의 목적은 협업을 통해 해당되는 문제를 해결하는 것이므로, Assigness를 통해 이슈에 대한 담당자를 할당할 수 있다.
- 이슈를 해결했을 시에는 'Close issue'를 통해 종료하고, 이슈 자체를 삭제할 경우에는 'Delete issue'를 사용할 수 있다.
- 이슈의 종류는 'Issue Label'을 지정하여 구분이 가능하다. (*bug, documentation, duplicate, enhancement 등 기본 라벨을 사용하거나, New label을 통해 새로운 라벨을 추가할 수 있다.)
- 유사한 이슈들을 하나로 모아 일정관리하기 위해 마일스톤(Milestone)을 사용할 수 있다. 마일스톤에서는 이슈의 Open/Close 상태를 모아 진척상황을 퍼센트로 보여줄 수 있다. 또, 납기일을 'Due Date' 설정을 통해 지정할 수 있다.
3. 깃허브 프로젝트 활용(Github Project)
- 깃허브 프로젝트 역시 작업 현황과 진행도를 보기 위해 사용하는 기능이다.
- 상태는 (To do/In progress/Done)으로 구분할 수 있고, 프로젝트 전체의 진행상황을 한번에 파악하기 수월하다.
- 새로 생성되는 모든 이슈는 To do에 해당된다. 작업을 투입했을 경우 In Progress, 이슈 Close또는 Merge완료시에는 Done으로 상태를 변경한다.
- 프로젝트 생성시 None, Basic Kanban, Automated Kanban, Automated kanban with reviews, Bug triage가 있는데, 여기서 Automated Kanban을 사용하면 이슈의 상태 위치를 자동으로 지정해준다.
'DEV > Web 개발' 카테고리의 다른 글
Web 개발 :: 프로젝트 코드 및 정리_TIL64 (0) | 2022.12.02 |
---|---|
Web 개발 :: 프로젝트 SA_TIL63 (0) | 2022.12.02 |
Web 개발 :: 프로젝트 코드 및 정리_TIL61 (0) | 2022.11.29 |
딥러닝 :: 11월 넷째주 WIL13 (0) | 2022.11.29 |
Web 개발 :: 딥러닝 이미지 처리(유화제작) 프로젝트 구현_TIL60 (0) | 2022.11.28 |
댓글