깃 컨벤션

홍현기·2025년 3월 31일
0

Git 컨벤션

  • 프로젝트에서 Git을 사용하여 소스 코드 버전 관리를 할 때, 일관된 규칙이나 스타일을 설정하여 커밋 메시지 작성, 브랜치 전략, PR(풀 리퀘스트) 관리 등에 대해 정한 규칙

1. Commit 메시지 구조

기본 적인 커밋 메시지 구조는 제목,본문,꼬리말 세가지 파트로 나누어 구분

type : subject

body 

footer

ex)
feat : 회원가입 기능 추가

아아디, 비밀번호 중복 확인 기능 추가 

HOT-123

type

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • docs : 문서 수정
  • style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
  • refactor : 코드 리펙토링
  • test : 테스트 코드, 리펙토링 테스트 코드 추가
  • chore : 빌드 업무 수정, 패키지 매니저 수정

subject

  • 제목은 최대 50글자가 넘지 않도록 진행

Body

  • 본문 내용은 최대한 상세히 작성
  • JIRA 이슈 카드명을 기입

2. Branch 구조

깃 플로우(git flow)

  • 중대형 프로젝트에 적합한 전략으로 병렬 개발을 위한 전략으로 주로 사용
  • 해당 전략은 ‘Vincent Driessen’이 2010년도에 제안한 방식으로 기능 개발과 유지보수를 위한 브랜치 전략을 제공
  • https://nvie.com/posts/a-successful-git-branching-model/

브랜치 구조

  • 개발 특성에 맞춰 일부 수정함
  • feat/{기능명}: 기능을 개발할 때 사용하는 브랜치
  • fix/{기능명}: 개발된 기능에 대한 오류를 수정할 때 사용하는 브랜치
  • refact/{기능명}: 개발된 기능을 리팩트 할 때 사용하는 브랜치
  • dev: 개발 브랜치입니다. (feat/fix/refact 브랜치가 완료되면 dev 에 머지)
  • main 실제 서비스가 운영되는 브랜치
  • hotfix: 긴급 패치가 필요할때 사용하는 브랜치입니다. hotfix에서 수정된 내용은 dev와 main 에 동시에 머지

브랜치 시나리오 : 신규개발 및 수정

  1. dev 브랜치에서 기능에 대한 브랜치(feature) 생성

    > git checkout dev
    > git checkout -b feat/signup
  2. 기능개발 및 커밋

    > git add . 
    > git commit -m "feat: 회원가입 기능 추가
    - 아이디, 비밀번호 중복 확인 기능 추가
    HOT-123"
    > git push origin feat/signup
  3. PR 작성

  4. PR 승인 및 CI/CD 배포 진행

  5. 개발단에서 서비스 확인

브랜치 시나리오 : 긴급수정

  1. main 브랜치에서 기능에 대한 브랜치(hotfix) 생성

    > git checkout main
    > git pull origin main
    > git checkout -b hotfix/signup-error
  2. 기능개발 및 커밋

    > git add .
    > git commit -m "hotfix: 로그인 버그 수정
    - 잘못된 로그인 로직 수정
    HOT-456"
  3. 핫픽스 브랜치 main에 병합

    > git checkout main
    > git pull origin main
    > git merge hotfix/signup-error
  4. dev 브랜치에도 핫픽스 적용

    > git checkout dev
    > git pull origin dev
    > git merge main
    > git push origin dev

0개의 댓글