Skip to content

Git 브랜치명 규칙과 커밋 메시지 컨벤션

mhyjw98 edited this page Aug 29, 2023 · 3 revisions

Git 브랜치명 규칙과 커밋 메시지 컨벤션

팀원 소개

  • FE : 노지선(부팀장), 한재연, 이마루
  • BE : 김수민(팀장), 박정우, 박민용

Git 브랜치명 규칙

  • main : 이 브랜치는 항상 안정된 코드만을 가지고 있어야 합니다. 직접적인 변경은 최소화하고, 주로 프로덕션 릴리스에 사용됩니다.
  • dev : 이 브랜치는 개발 중인 기능들을 모아둡니다. fe와 be의 기능을 merge하기 전에 개발자들이 함께 코드를 통합하고 테스트합니다.
  • fe_Dev be_Dev : 새로운 기능을 개발할 때, dev 브랜치에서 분기되는 브랜치입니다. 기능 개발이 완료되면 dev branch로 merge합니다.

기본 브랜치

  • 메인 브랜치 : 'main'

  • 개발 브랜치 : 'dev'

개발 브랜치

  • BE 개발 브랜치 : 'feat/BE'

  • FE 개발 브랜치 : 'feat/FE'

Commit Message Convention

메시지 구조

먼저 커밋 메시지는 크게 제목, 본문, 꼬리말 세 가지 파트로 나누고, 각 파트는 빈줄을 두어서 구분합니다.

type(옵션): [#issueNumber - ]Subject // -> 제목

body(옵션) // -> 본문

footer(옵션) // -> 꼬리말

  • type : 어떤 의도로 커밋했는지를 type에 명시합니다. 자세한 사항은 아래 type 참조.
  • subject : 최대 50글자가 넘지 않도록 하고 마침표는 찍지 않습니다. 영문으로 표기하는 경우 동사(원형)를 가장 앞에 두고 첫 글자는 대문자로 표기합니다.
  • body : 긴 설명이 필요한 경우에 작성합니다. 어떻게 했는지가 아니라, 무엇을 왜 했는지를 작성합니다. 최대 75자를 넘기지 않도록 합니다.
  • footer : issue tracker ID를 명시하고 싶은 경우에 작성합니다.

커밋 타입

  • 타입은 태그와 제목으로 구성되고, 태그는 영어로 쓰되 첫 문자는 대문자로 합니다.

  • "태그: 제목"의 형태이며, : 뒤에만 space가 있음에 유의합니다.

  • Feat: 새로운 기능 추가

  • Update: 기능 업데이트

  • Refactor: 코드 리팩토링

  • Rename: 파일 및 폴더명 수정 또는 옮김 작업

  • Remove: 파일 삭제

  • Comment: 주석 추가 및 변경

  • Fix: 버그 수정

  • Docs: 문서 작업

  • Design: 사용자 인터페이스 디자인 변경

  • Test: 테스트 코드 작성 또는 수정

커밋 예시

Feat: 새로운 기능 추가

  • 변경 사항 1

  • 변경 사항 2 // 본문은 필요에 따라 작성

제목 규칙

  • 제목의 처음은 동사 원형으로 시작합니다.
  • 총 글자 수는 50자 이내로 작성합니다.
  • 마지막에 특수문자는 삽입하지 않습니다. 예) 마침표(.), 느낌표(!), 물음표(?)
  • 제목은 개조식 구문으로 작성합니다.