-
Notifications
You must be signed in to change notification settings - Fork 2
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
📌 {커밋 prefix}: 작업 내용 요약
ex) config: 백엔드 프로젝트 환경 설정
- feat: 기능 개발
- docs: 문서 관련 작업
- refactor: 기능 변경 없이 전반적 코드 구조 변경 (Ex. 필드 이름 변경 등)
- chore: 파일 내부가 아닌 파일 자체에 대한 변경 (Ex. 폴더 이동 / 변경, 파일 이름 변경, 파일 삭제)
- style: 코드 컨벤션 관련 작업
- test: 테스트 코드 관련 작업
- fix: 버그 수정
- design: 마크업 관련 수정
- config: 외부 라이브러리 관련 추가 및 설정
- feat/ 에서 main으로 머지하는 경우, Squash and Merge를 수행한다.
---
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
branch | role | rule | description |
---|---|---|---|
main | 실제 배포 브랜치 | 삭제 X | 실제 프로젝트 사용자들이 볼 배포 브랜치 |
develop | 개발 총괄 브랜치 | 삭제 X | main에서 파생, 기능 개발 후 main에 반영 |
feat/fix | 기능 단위 개발, 수정 브랜치 | develop merge 후 삭제 |
feat/#{이슈넘버} , fix/#{이슈넘버} develop 에서 파생 |
hotfix | 버그 수정 브랜치 | main, develop merge 후 삭제 | main 에서 파생, 긴급한 버그 수정 후 main , develop 에 반영 |