Skip to content

Project Convention

Kim Kyungho edited this page Jul 16, 2025 · 1 revision

본 프로젝트 개발 진행 시 작업 진행 플로우, 브랜치 규칙, 커밋 메시지 규칙, 코드 컨벤션 등 전반적인 프로젝트 컨벤션에 대하여 정의한다.

작업 진행 플로우

작업은 크게 Issue 생성작업 진행PR 생성Merge의 단계로 이루어지며, 자세한 내용은 아래와 같다.

  1. Issue 생성
  2. Issue에 대한 브랜치 생성
    • 아래의 브랜치 규칙에 따라 브랜치를 생성한다.
  3. 해당 브랜치에서 작업 진행
  4. 작업 완료 후 Pull Request 생성
    • Reviewer: 지정 X
    • Assignee: 작업자 지정
    • Label: 작업한 내용에 맞게 지정
  5. Merge

브랜치 규칙

브랜치 전략은 심플한 Git-flow 전략을 사용한다.

  • main: 실제 배포 브랜치
  • develop: 개발 중심 브랜치
    • feature/{기능명}: 기능 개발
    • refactor/{모듈명}: 리팩토링
    • fix/{버그명}: 버그 수정
    • chore/{기타 작업}: 설정, 문서 등
  • hotfix: 출시 버전에서 발생한 버그를 수정하는 브랜치

ex) feature/login

커밋 메시지 규칙

<type>을 제외한 모든 커밋 내용에는 한글을 허용한다.

커밋 형식

<type><break or not>: <subject> <#issue number>
<BLANK LINE>
<body>
<BLANK LINE>

제목

허용하는 타입 <type>

Tag Name Description
feat 기능 추가
fix 기능 변경
bug 버그 수정
refactor 리팩토링
docs 문서 작업
test 테스트 코드, 리펙토링 테스트 코드 추가, Production Code(실제로 사용하는 코드) 변경 없음
cicd cicd 관련
chore 관리, 빌드, 초기 설정 등

Break Change 여부: <break or not>

Break Change가 존재하는 커밋의 경우, !를 추가하고 커밋 바디에 변경사항에 대한 설명을 추가한다.

ex)

  • feat: 로그인 기능 구현
  • feat!: 회원가입 기능 구현

내용: <subject>

현재 시제의 명령조로 작성한다.

메시지 본문: <body> <#issue number>

  • 필수는 아니지만 Break Change가 존재하는 경우에는 필수로 작성한다.
  • 명령조에 현재 시제로 작성한다.
  • 마지막에 #이슈 번호를 추가한다.

ex) feat: 로그인 기능 구현 #12

PR Title

변경사항 형식으로 작성한다. 내용은 작성하지 않고 이슈만 연결한다.

ex) 회원 삭제 API 구현

Clone this wiki locally