Skip to content

Git Convention

김정훈 edited this page Aug 6, 2023 · 1 revision

Git Flow

  1. 새로운 기능 추가 시 develop 브랜치에서 feature 브랜치 생성(main 아님!!!)

    • 개발 단계에서 최신 코드를 유지
    • 기능 개발과 출시 사이에 생기는 충돌과 문제 감소
  2. 작업 완료 시, feature 에서 develop 브랜치로 PR

    • 코드리뷰와 테스트를 거쳐 소프트웨어 품질 향상
  3. Version을 출시할 때는 main 브랜치에 버전 태그를 추가

    • 버전 출시 후에도 main 브랜치를 기반으로 문제가 생길 경우 긴급한 수정사항 즉시 적용 가능

Branch Convention

Branch Category

  • main: 제품으로 출시될 수 있는 브랜치
  • develop : 다음 출시 버전을 개발하는 브랜치
  • feature : 기능을 개발하는 브랜치
    • 네이밍 : feature/파트/{feature name}
    • ex. feature/ios/login
    • ex. feature/frontend/login
    • 해당 기능 구현 시 PR 후 브랜치 제거
    • 중간 중간 PR 보내기

브랜치 네이밍 컨벤션을 정한 이유

  • 기능을 개발하는 브랜치를 쉽게 식별
  • 브랜치 이름을 보고 해당 브랜치가 누가 어떤 기능을 개발하고 있는지 쉽게 파악 가능

Commit Convention

Format : '유형(Type): 요약 #이슈 번호 자세한 내용'

  • 커밋 메시지의 첫 번째 부분으로 유혀을 명시하는 것은 해당 커밋이 어떤 종류의 변화인지 빠르게 파악 가능
  • 이슈번호를 포함시켜 해당 커밋이 어떤 이슈와 연관되어 있는지 쉽게 파악 가능
  • 커밋의 의도를 쉽게 파악할 수 있기 때문에 코드 리뷰와 협업이 원활해짐

Head

  1. 기능을 태그로 작성 Tag : feat, fix, design, rename, remove, comment, hotfix, docs, chore,
  2. 설명은 대문자, 동사원형으로 작성 시작
  3. 버그가 없고, 주석 없는 코드를 커밋, 디버깅 코드 제거

예시) feat: 애드 노 리뷰 스크린

예시) feat: 회원가입 (#2)

Body

※ '어떻게' 변경했는지 보다 '무엇을', '왜' 변경했는지 작성 (방법보다 사유 기술)

  • 여러 개의 이슈 작성 상황에는 쉼표로 구분

Issue/PR Template

TODO : 이슈 단위 정하기

Issue Template

## 🤖 title

## 💭 detail  
- [ ]
- [ ]

## reference (optional)

## ⏰ 예상 소요 기간  
8시간

PR Template

## PR 작성 전 체크 리스트
- PR 제목: `[파트이름] 구현사항 어쩌구 저쩌구` (예: `[FE] Login page UI 구현` )
- PR 작성 후 충돌이 안 나는지 확인, merge후 branch 삭제
- 고민사항은 공유하기
- 위 사항 확인 후 내용 지우기~~

## 🔖 관련 이슈
- `#1` ( #이슈번호 )

## 📝 구현 사항
- 한 것들 적기

## 📌 하고싶은 말
- 같은 파트원에게 하고싶은 말