Branch Convention - boostcampwm-2024/web08-BooQuiz GitHub Wiki

Git Branch Convention

브랜치 ꡬ쑰

main ── develop ── feature

브랜치 μ’…λ₯˜

브랜치 μ„€λͺ… μš©λ„
main μ œν’ˆ 배포용 브랜치 Production ν™˜κ²½
develop 개발 톡합 브랜치 ν…ŒμŠ€νŠΈ μ„œλ²„ ν™˜κ²½
feature κΈ°λŠ₯ 개발 브랜치 둜컬 개발 ν™˜κ²½

브랜치 운영 κ·œμΉ™

1. 브랜치 Flow

feature β†’ develop β†’ main
  • feature β†’ develop: κΈ°λŠ₯ 개발 μ™„λ£Œ ν›„ 톡합
  • develop β†’ main: ν…ŒμŠ€νŠΈ μ™„λ£Œ ν›„ 배포

2. ν…ŒμŠ€νŠΈ κ·œμΉ™

  • feature β†’ develop 병합 μ‹œ ν…ŒμŠ€νŠΈ μ½”λ“œ μ‹€ν–‰ (Github Action)
  • ν…ŒμŠ€νŠΈ 톡과 μ‹œμ—λ§Œ 병합 κ°€λŠ₯

3. Feature 브랜치 넀이밍

feature/#{issue-number}-{feature-name}[-{detail}]

기본 ꡬ쑰

  • feature/#11-mainpage (κΈ°λ³Έ ν˜•νƒœ)
  • feature/#11-mainpage-button (상세 μž‘μ—…)

μ˜ˆμ‹œ

# 메인 νŽ˜μ΄μ§€ 생성 νƒœμŠ€ν¬ (#11)
feature/#11-mainpage              # 메인 κΈ°λŠ₯ 개발
feature/#11-mainpage-button      # λ²„νŠΌ μΆ”κ°€ μž‘μ—…
feature/#11-mainpage-layout      # λ ˆμ΄μ•„μ›ƒ μž‘μ—…

4. 브랜치 생성 κ·œμΉ™

  1. νƒœμŠ€ν¬(이슈) λ‹¨μœ„λ‘œ 브랜치 생성
  2. ν•˜λ‚˜μ˜ νƒœμŠ€ν¬μ—μ„œ νŒŒμƒλ˜λŠ” μž‘μ—…μ€ 원본 νƒœμŠ€ν¬ 번호 μœ μ§€
  3. μ„ΈλΆ€ μž‘μ—…μ€ {detail} ν˜•μ‹μœΌλ‘œ ꡬ뢄

5. Pull Request κ·œμΉ™

  1. μ΅œμ’… 병합은 원본 feature λΈŒλžœμΉ˜μ—μ„œ μ§„ν–‰
    • 예: feature/#11-mainpage β†’ develop
  2. μ„ΈλΆ€ μž‘μ—… λΈŒλžœμΉ˜λŠ” 원본 feature 브랜치둜 병합
feature/#11-mainpage-button β†’ feature/#11-mainpage
feature/#11-mainpage-layout β†’ feature/#11-mainpage

μ£Όμ˜μ‚¬ν•­

  1. 브랜치 생성 μ „ λ°˜λ“œμ‹œ 이슈 번호 확인
  2. ν•˜λ‚˜μ˜ λΈŒλžœμΉ˜λŠ” ν•˜λ‚˜μ˜ λͺ©μ μ„ 가지도둝 ꡬ성
  3. μž‘μ—… μ™„λ£Œλœ feature λΈŒλžœμΉ˜λŠ” 병합 ν›„ μ‚­μ œ
  4. 브랜치λͺ…은 항상 μ†Œλ¬Έμžλ‘œ μž‘μ„±
  5. 단어 ꡬ뢄은 ν•˜μ΄ν”ˆ(-) μ‚¬μš©

브랜치 관리 μ›Œν¬ν”Œλ‘œμš°

  1. 이슈 생성
  2. feature 브랜치 생성
  3. κΈ°λŠ₯ 개발
  4. ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„± 및 μ‹€ν–‰
  5. develop 브랜치둜 PR 생성
  6. μ½”λ“œ 리뷰 및 승인
  7. 병합 ν›„ 브랜치 μ‚­μ œ