프로젝트를 진행할 때 정하는 규칙 중의 하나로 commit 하는 내용에 대하여 어떻게 전달하는지를 정하고 프로젝트를 시작하게 된다. 이것을 commit convention을 정한다고 하는데 이렇게 정한 commit convention에 맞게 내용을 작성하려고 할 때 양식을 미리 만들어놓고 양식에 맞게 내용만을 채우면 되도록 만들어 놓은 것이 commit message template이라고 생각하면 되겠습니다.
설정하는 방식은 밑과 같이 전역으로 설정하는 방법과 작업 중인 repo에만 설정하는 방식이 있는데 두 가지 방식도 어렵지 않아서 아무거나 선택해서 따르면 되겠습니다.
1. git global에다가 commit template을 설정하는 방법
git config --global commit.template [template 파일]
2. 작업 중인 repository에 commit template을 지정하는 방법
- 명령어 밑의 파일 구조를 참고하여 생각하면 되겠습니다.
git config commit.template .github/commit_message_template.md
3. commit message template 내용 공유
# --- 제목(title) - 50자 이내로 ---
# <타입(type)> <제목(title)>
# 예시(ex) : Docs(Add) Commit docs Add
# --- 본문(content) - 72자마다 줄바꾸기 ---
# 예시(ex) :
# - Workflow
# 1. 커밋 메시지에 대한 문서 제작 추가.
# 2. commit message docs add.
# --- 꼬리말(footer) ---
# <타입(type)> <이슈 번호(issue number)>
# 예시(ex) : Fix #122
# --- COMMIT END ---
# <타입> 리스트
# Init : 초기화
# Feat : 기능추가
# Add : 내용추가
# Update : 기능 보완 (업그레이드)
# Fix : 버그 수정
# Refactor: 리팩토링
# Style : 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없음)
# Docs : 문서 (README.md, ignore파일 추가(Add), 수정, 삭제)
# Test : 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없음)
# Chore : 기타 변경사항 (빌드 스크립트 수정 등)
# Rename : 이름(파일명, 폴더명, 변수명 등)을 수정하거나 옮기는 작업만인 경우
# Remove : 파일을 삭제하는 작업만 수행한 경우
# ------------------
# 제목 첫 글자를 대문자로
# 제목은 명령문으로
# 제목 끝에 마침표(.) 금지
# 제목과 본문을 한 줄 띄워 분리하기
# 본문은 "어떻게" 보다 "무엇을", "왜"를 설명한다.
# 본문에 여러 줄의 메시지를 작성할 땐 "-" 혹은 "번호"로 구분
# ------------------
4. pull request template 설정 및 내용 공유
- 설정하는 방법은 생각보다 어렵지 않습니다 위와 같이 .github 폴더 밑에 pull_request_template.md라고 파일을 만들고 작성해 주면 되겠습니다.
- 해당 파일에 대한 내용은 밑에 공유합니다
### Types of changes
- [ ] 기능 추가
- [ ] 버그 수정
- [ ] 테스트케이스
- [ ] 컨벤션 수정
- [ ] 문서
- [ ] CI/CD
- [ ] 리팩토링
### Summary
- 요약
### Changes
- 바뀐 부분
### 특이사항 (Optional)
-
### Screenshots (Optional)
여기까지 commit message template, pull request template에 대한 내용입니다.
다음으로는 git action을 이용한 간단한 ci 구현을 해보며 설정 내용을 마무리 하겠습니다.
'DevLog' 카테고리의 다른 글
[개발환경셋팅] 안드로이드 앱 출시 준비 (0) | 2023.09.17 |
---|---|
[개발환경셋팅] 3. git action을 이용한 간단한 ci 맛보기 (0) | 2023.05.08 |
[개발환경셋팅] 1. Django 프로젝트 Boilerplate 만들기 (1) | 2023.05.08 |
[개념완성] Django INSTALLED_APPS 앱등록 (0) | 2023.05.01 |
[개념완성] get_object_or_404 (0) | 2023.04.21 |