Skip to content

Git 컨벤션

Seonghwan Kim edited this page Nov 5, 2021 · 4 revisions

branch naming

main - develop - feature 브랜치를 사용

feature 브랜치 네이밍

: feature/#<issue_number>

Commit message

구조

커밋 메시지는 세 부분으로 구성된다.

Issue #<issue number> type: subject

body(option)

footer(option)

type

커밋의 성격을 간단히 나타내는 단어. 다음 중 하나를 사용하거나 필요에 따라 추가할 수 있다.

  • feat: 새로운 기능
  • fix: 버그 수정
  • docs: README, gitignore 주석 수정
  • refactor: 코드 리팩터링
  • test: 테스트 코드가 추가되거나 리팩터링 시 사용하며 프로덕션 코드는 변경되지 않는다.
  • chore: 프로젝트 환경설정 변경, 빌드 구성 변경 등에 사용되며 프로덕션 코드는 변경되지 않는다.
  • layout
  • res

subject

  • ex Issue#14 feat: 각 문단의 그룹과 순서를 변경 커밋 메시지의 제목을 나타낸다.

한글로 작성하며 총 50자 이내로 작성되어야 하고ㅡ 마침표를 쓰지 않는다. 구어체나 문장형이 아닌 명령형으로 작성한다. ex) 헤더 타이틀 변경

body(option)

커밋이 단순하다면 생략할 수 있다.

어떤 작업(what)을 수행했는지와 목적(why)에 대해 작성하며, 작업을 어떻게(how) 수행했는지는 작성하지 않는다.

body에서 각각의 라인당 72자를 초과해선 안된다.

footer(option)

이슈 트래커의 ID 등을 표시하는데 사용된다.

이슈 트래커 유형은 다음 중 하나를 사용한다.

  • Fixes: 이슈 수정중 (아직 해결되지 않은 경우)
  • Resolves: 이슈를 해결했을 때 사용
  • Ref: 참고할 이슈가 있을 때 사용
  • Related to: 해당 커밋에 관련된 이슈번호 (아직 해결되지 않은 경우)

이슈 & PR 템플릿

### issue
- 라벨 달기(app, library, chore, bug, hotfix, feature)
- project달기
- 마일스톤 달기
- asignees 지정

#### 제목
prefix 없이 수행할 작업을 간략히 작성
ex) CalendarView 구현

#### 진행 상황
- [ ] ex) 
- [ ] 레이아웃 구성
- [ ] 

pull request

뱅크샐러드 참고

#### 제목
issue 와 동일하게 작성

#### what is this pr
<!-- - pr에 관련된 issue number와 관련 문서 작성
- 해결한 issue -> Resolve: #2 -->

#### Changes
<!-- - pr에서 변경된 내용 ex) 월단위 달력 디자인 변경 -->

#### screenshot
<!-- - 변경된 내용과 관련된 스크린샷(보이지 않는 경우 생략) -->

#### testchecklist(가능?)
<!-- - 테스트 코드를 작성한경우 리스트업 -->