본문 바로가기
DEV/Web 개발

Web 개발 :: 프로젝트 코드 및 정리_TIL62

by 올커 2022. 12. 2.

■ 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을 사용하면 이슈의 상태 위치를 자동으로 지정해준다.

 

반응형

댓글