generated from ttipo/project-base
Initial commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Git 컨벤션
|
||||
|
||||
## 커밋 메시지
|
||||
|
||||
`<type>(<scope>): <제목>` 형식 — scope 는 선택.
|
||||
|
||||
- type: **feat / fix / refactor / docs / chore / perf / test / style**
|
||||
- scope: 변경이 한 스택에 한정되면 명시 — `backend` / `frontend` / `flutter` / `docker` / `rules`
|
||||
- 제목은 한국어, 명령형 현재 시제, 마침표 없음
|
||||
- 한 커밋은 하나의 논리적 변경만 포함
|
||||
|
||||
```
|
||||
feat(backend): 사용자 목록 커서 페이지네이션 추가
|
||||
fix(frontend): 세션 만료 시 중복 알림 노출 수정
|
||||
docs(rules): 에러 코드 SSOT 동기화 절차 정리
|
||||
```
|
||||
|
||||
본문이 필요하면 제목 다음 줄을 비우고 **왜** 바꿨는지 적는다(무엇을 바꿨는지는 diff 가 말해준다).
|
||||
|
||||
## 브랜치
|
||||
|
||||
`<type>/<간단한-설명>` — 기본 브랜치는 `main`.
|
||||
|
||||
```
|
||||
feat/user-pagination
|
||||
fix/session-expired-alert
|
||||
```
|
||||
|
||||
- 기본 브랜치에 직접 커밋하지 않는다. 작업은 브랜치에서 하고 PR 로 합친다.
|
||||
- 브랜치는 머지 후 삭제한다. 오래 유지되는 브랜치를 만들지 않는다.
|
||||
|
||||
## PR
|
||||
|
||||
- 제목은 커밋 규칙과 동일한 형식
|
||||
- 본문에 **무엇을 왜 바꿨는지**와 **확인 방법**을 적는다
|
||||
- `.github/pull_request_template.md` 의 체크리스트를 채운다
|
||||
- 머지 전 CI(`.github/workflows/ci.yml`)와 [[checklist]] 의 "커밋 전 공통 점검"을 통과해야 한다
|
||||
- 에러 코드·응답 포맷 등 **공유 계약을 바꾸는 PR** 은 세 스택 영향 범위를 본문에 명시한다 ([[error-codes]] · [[response-format]])
|
||||
Reference in New Issue
Block a user