Git Flow
- Git flow 기반으로 관리
- 기본적으로 master와 dev branches로 나누어 관리함
- 실험적인 기능을 개발하는 경우 dev branch에서 sub branch를 만들어, 새 branch로 checkout 한 후 개발
Git Commit Message Convention
Commit message의 전체 구성
<Title>
+ [Header]
+ [Body]
+ [Footer]
(Title과 Header, Body, Footer 사이에 각각 한 줄을 개행하여 구분)
<Type>[!]: <Subject>
[Header]
[Body]
[Footer]
Title 작성 규칙
(Title = <Type>
[!]
+ <Subject>
)
- Type 작성 규칙
- 아래의 리스트에서 하나를 선택하여, 영문 소문자로 작성
feat
: A new featurefix
: A bug fixdocs
: Changes to documentationstyle
: Formatting, missing semi colons, etc; no code changerefactor
: Refactoring production codetest
: Adding tests, refactoring test; no production code changechore
: Updating build tasks, package manager configs, etc; no production code change
- BREAKING CHANGES일 경우,
<Type>
의 뒤에!
를 작성
- 아래의 리스트에서 하나를 선택하여, 영문 소문자로 작성
- Subject 작성 규칙
- 첫 문자는 대문자로, 50자 내외의 영문으로 작성
- 문장의 끝에 마침표(
.
)를 작성하지 않음 - 명령문으로 작성 (과거형 사용 X)
ex)docs: Update the README.md (O) docs: Updated the README.md (X)
Header 작성 규칙
- BREAKING CHANGES가 있을 경우, [Header] 영역에 다음과 같이 Hyphen(
-
)을 사용하여 개괄식으로 작성
ex)refactor!: Improve the maintainability BREACKING CHANGES: - JavaScript에서 TypeScript로 전부 변경 - JavaScript에서 TypeScript로 변경함에 따라, 전부 Type 명시 1. 세미콜론(;)이 누락된 부분에 세미콜론 전부 명시 2. Class components를 Functional components로 변경
Body 작성 규칙
- Numbered list 형식의 한글로 작성하며, 가급적 개발 내용을 구체적으로 작성
- Numbered list의 각 항목 끝에 마침표(
.
)를 작성하지 않음 - Numbered list의 각 항목 사이에는 개행 문자를 1개만 삽입
ex)
<Correct case>
fix: Fix bugs related to sign-up 1. 기존에 프로필 사진을 3개 이상 등록하지 못하는 버그를 수정함으로 인해 추가적으로 발생한, Network error 발생 버그를 수정하였음 2. 프로필 사진을 등록할 때 저화질로 업로드되는 버그 수정 3. 5번째 회원가입 페이지에서 다음 페이지로 넘어가지지 않는 버그 수정
<Wrong case>
fix: Fix bugs related to sign-up 1. 기존에 프로필 사진을 3개 이상 등록하지 못하는 버그를 수정함으로 인해 추가적으로 발생한 버그 (프로필 사진을 업로드할 때 HEIF/HEIC 포맷 이미지를 업로드하거나 1MB를 초과하는 JPG/PNG 이미지 파일을 업로드 시 app crash가 발생하는 버그)를 수정하였음 2. 프로필 사진을 등록할 때 저화질로 업로드되는 버그 수정 3. 5번째 회원가입 페이지에서 다음 페이지로 넘어가지지 않는 버그 수정