Skip to content

Latest commit

 

History

History
138 lines (96 loc) · 3.45 KB

git-convention.md

File metadata and controls

138 lines (96 loc) · 3.45 KB

Git Convention

커밋 메시지, 브랜치 전략, PR/이슈 규칙을 다룬다. (언어·프레임워크 무관)


1. 커밋 메시지

1-1. 형식

일반 커밋

type: 제목

PR Squash Merge 커밋

type: 제목 - #PR번호
  • type: 변경 성격 접두사 (아래 표)
  • 제목: 한글, 명사형/동사 종결형, 마침표 없음
  • PR번호: Squash Merge 커밋에만 붙인다

1-2. 본문·트레일러

  • 커밋 메시지는 제목 한 줄을 기본으로 한다. 배경 설명이 필요하면 빈 줄 뒤에 본문을 덧붙인다.
  • AI 도구가 남기는 트레일러를 넣지 않는다. Co-Authored-By: Claude ..., Claude-Session: ..., Generated with ... 같은 줄은 커밋 메시지·PR 본문 어디에도 추가하지 않는다.
  • 커밋 작성자는 실제 작업자 본인이다. AI 에이전트를 공동 작성자로 표기하지 않는다.

1-3. Type 종류

type 설명
feat 새로운 기능 추가
fix 버그 수정
refactor 기능 변경 없는 코드 개선
docs 문서 추가·수정
test 테스트 코드 추가·수정
chore 빌드 설정, 의존성, 기타 잡무
init 프로젝트·모듈 초기 세팅

1-4. 예시

feat: 사물함 신청 페이지 추가
fix: 대여 반납일 검증 누락 수정
refactor: RentalForm 컴포넌트 상태 분리
docs: 아키텍처 컨벤션 문서 추가
chore: vite 버전 업그레이드
feat: 사물함 신청 페이지 추가 - #12

2. 브랜치 전략

2-1. 형식

{type}/#{이슈번호}-{작업내용}
  • type: 커밋 type과 동일
  • 이슈번호: #을 붙인다
  • 작업내용: 영문 소문자·하이픈(-)만

2-2. 브랜치 종류

브랜치 설명
main 배포 기준 브랜치
feat/#{이슈번호}-{작업내용} 기능 개발
fix/#{이슈번호}-{작업내용} 버그 수정
refactor/#{이슈번호}-{작업내용} 리팩토링
docs/#{이슈번호}-{작업내용} 문서 작업
chore/#{이슈번호}-{작업내용} 빌드·설정 변경

2-3. 예시

feat/#12-locker-application
fix/#34-rental-return-date
refactor/#7-rental-form
docs/#5-git-convention

3. PR 규칙

3-1. PR 제목

[{Type}/#{이슈번호}] {설명}
  • Type: 커밋 type 첫 글자 대문자 (Feat, Fix, Refactor, Docs, Test, Chore, Init)
  • 이슈번호: 반드시 포함
  • 설명: 한글로 간략히
[Feat/#12] 사물함 신청 페이지 추가
[Fix/#34] 대여 반납일 검증 누락 수정

Squash Merge 시 커밋 메시지에 - #PR번호를 추가한다.

3-2. PR 본문

.github/pull_request_template.md를 사용한다. 연관 이슈 연결, 작업 내용, 리뷰 요구사항을 기술한다.

3-3. Merge 전략

  • Squash and Merge를 기본으로 사용한다.

3-4. 기타 규칙

  • main에 직접 push하지 않는다.
  • PR은 최소 1명 리뷰 승인 후 Merge한다.
  • CI 필수 체크가 통과해야 Merge할 수 있다.
  • Merge 후 작업 브랜치는 삭제한다.

4. 이슈 규칙

.github/ISSUE_TEMPLATE/issue-template.md를 사용한다. 구현 내용을 체크리스트로 작성하고 참고 자료를 첨부한다.

이슈 생성 → 브랜치 생성 (이슈번호 포함) → 작업·커밋 → PR 생성 (이슈 연결) → 리뷰 → Merge → 브랜치 삭제