Skip to content

Git 컨벤션

Eunseo Sim edited this page Nov 7, 2024 · 1 revision

브랜치 전략

  • main: 스프린트 단위의 병합
  • develop: CI, 테스트 단위만 수행, PR 단위의 병합
  • feature: feat: {테스크 단위}#{이슈번호} , 테스트 단위의 브랜치
  • fix: 배포 단계에서 발생한 오류에 대한 수정을 담당하는 브랜치
graph LR;
  A[main] --> B[develop];
  B --> C[fe-dev];
  B --> D[be-dev];
  B --> E[feat/#1/branch];
  C --> F[feat/#2/branch];
  D --> G[feat/#3/branch];
Loading

브랜치 네이밍

feat/#{이슈번호}/{브랜치이름(케밥케이스)}

ex. feat/#2/init-project

커밋 전략

# <타입> : <제목> 형식으로 작성하며 제목은 최대 50글자 정도로만 입력
# 제목을 아랫줄에 작성, 제목 끝에 마침표 금지, 무엇을 했는지 명확하게 작성

################
# 본문(추가 설명)을 아랫줄에 작성

################
# 꼬릿말(footer)을 아랫줄에 작성 (관련된 이슈 번호 등 추가)

################
# feat: 새로운 기능 추가
# test: 테스트 생성/수정
# fix: 버그 수정
# docs: 문서 수정
# test: 테스트 코드 추가
# refactor: 코드 리팩토링
# design: UI 디자인
# style: 코드 의미에 영향을 주지 않는 변경사항
# chore: 빌드 부분 혹은 패키지 매니저 수정사항
################
touch .gitmessage

// .gitmessage를 커밋 템플릿으로 사용
git config --global commit.template .gitmessage

// 에디터 상에서 커밋메시지를 작성할 수 있게 해주는 명령어
git config --global core.editor "code --wait" 

// 명령어 실행시 에디터에서 커밋메시지 작성 가능
git commit

PR/ISSUE 템플릿

PR 템플릿

<!-- 제목양식을 지켜주세요! [Feat] {제목~~} --> 
<!-- Reviewer, Assignees, Label 붙이기 -->

## 관련 이슈 번호
<!-- 이슈를 닫지 않는다면 이유 작성하기 -->
- close #{이슈번호}

## 작업 내용
- 이거했고
- 저거했다

## PR 포인트

## 고민과 학습내용

## 스크린샷

Issue 템플릿

<!-- 제목양식을 지켜주세요! [Feat] {제목~~} --> 
<!-- Assignees, Label 붙이기 -->

## 이슈 설명

라벨

  • 파트 종류
    • FE: 프론트엔드
    • BE: 백엔드
  • 작업 종류
    • ✨ Feature: 새로운 기능
    • 🛠️ Fix: 오류 수정
    • 🐞 Bug: 오류 발생
    • ✅ Test: 테스트 코드
    • ♻️ Refactor: 리팩토링
    • 🔨 Config: 환경 설정
    • 📝 Docs: 문서 수정
    • 🎨 Design: UI 디자인

리뷰

  • 최소 몇명 approve?
    • 2명
  • 리뷰의 강도
    • 존댓말 사용하기
    • 자유롭게
    • 리뷰 + PR에 소설 쓰지 말기
    • Pn룰 활용:
      • P1: 꼭 반영해 주세요 (Request changes)
      • P2: 적극적으로 고려해 주세요 (Request changes)
      • P3: 웬만하면 반영해 주세요 (Approve)
      • P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
      • P5: 그냥 사소한 의견입니다 (Approve)
  • 리뷰 올리는 시간 10:00 ~ 00:00
    • 빠르게 승인 받아야 할 pr은 슬랙에 언급