Skip to content

Git Branch 전략

Eunsol Kim edited this page Jul 17, 2023 · 6 revisions

브랜치 전략

  • Github Flow 를 사용한다.
    • main: 배포용 브랜치. 삭제하지 않는다.
    • feat: 기능 개발용 브랜치. 기능 개발 후 삭제한다.
    • 모든 작업 브랜치는 main에서 파생된다.
    • main에 반영하기 전에 feat 브랜치에서 QA를 진행한다.
    • 개발 서버에서 QA 진행 시, 최신 배포 상태를 반영하기 위해 main을 feat에 rebase 한다. (feat/2 브랜치에서 git rebase main)
    • 현재 feat 브랜치에서 다른 feat 브랜치의 기능이 필요한 경우, feat 브랜치를 필요한 feat 브랜치에 머지한다.
---
title : S-HOOK Git diagram
---
%%{init: { 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel': false } } }%%
gitGraph
commit
branch feature
checkout feature
commit
commit
commit
checkout main
merge feature
branch hotfix
commit
commit
checkout main
merge hotfix
Loading

📐 Commit 컨벤션

📌 {커밋 prefix}: 작업 내용 요약
ex) config: 백엔드 프로젝트 환경 설정
  • feat: 기능 개발
  • docs: 문서 관련 작업
  • refactor: 기능 변경 없이 전반적 코드 구조 변경 (Ex. 필드 이름 변경 등)
  • chore: 파일 내부가 아닌 파일 자체에 대한 변경 (Ex. 폴더 이동 / 변경, 파일 이름 변경, 파일 삭제)
  • style: 코드 컨벤션 관련 작업
  • test: 테스트 코드 관련 작업
  • fix: 버그 수정
  • design: 마크업 관련 수정
  • config: 외부 라이브러리 관련 추가 및 설정

Merge 전략

  • feat/ 에서 main으로 머지하는 경우, Squash and Merge를 수행한다.

이전 브랜치 전략

📏 Git Branch 전략

---
title : S-HOOK Git diagram
---
%%{init: { 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel': false } } }%%
gitGraph
commit
branch develop order: 2
commit
commit
checkout main
merge develop
branch hotfix order: 1
commit
checkout main
merge hotfix
checkout develop
merge hotfix
branch feature order: 3
commit
commit
commit
checkout develop
merge feature
checkout main
checkout develop
branch fix order: 4
commit
checkout develop
merge fix
checkout main
merge develop
Loading

branch role rule description
main 실제 배포 브랜치 삭제 X 실제 프로젝트 사용자들이 볼 배포 브랜치
develop 개발 총괄 브랜치 삭제 X main에서 파생, 기능 개발 후 main에 반영
feat/fix 기능 단위 개발, 수정 브랜치 develop merge 후 삭제 feat/#{이슈넘버}, fix/#{이슈넘버} develop 에서 파생
hotfix 버그 수정 브랜치 main, develop merge 후 삭제 main 에서 파생, 긴급한 버그 수정 후 main , develop 에 반영
Clone this wiki locally