세부 브런치별 기능 및 역할
main
- 실제 사용자가 사용중인 상태
- Hotfix 가 포함되어있을 수 있음
dev
- feat, fix branch 에서 개발 완료된 기능을 1차적으로 dev branch를 통해 merge해, 상호 파일간 호완 수준 및 빠른 개발 및 실험이 이뤄지는 branch, 각 파일은 기능별, 구조별로 각 개인이 만든 코드이다.
- 해당 단계에서는 merge할 경우, merge 이후 충돌 발생여부를 체크해야하며, 충돌 발생시 해결 순서는 다음과 같다.
- 최신 dev branch 를 pull 한 후 개인의 branch 를 최신 dev 위로 rebase
- 대부분 1번에서 해결되며 해결되지 않는 상황에서는 2번 이후를 진행
- 에러 발생 코드 위치 확인
- 코드 작성일과 작성자 확인
- 문제에 대한 원인 분석
- 작성자와 협업이 가능한 경우,
- 상호 코드간 충돌이 일어나는지 확인 후 코드 스타일 변경
- 작성자와 협업이 불가능한 경우,
- 작성자의 코드를 현재 작성한 본인 코드에 맞게 수정
- dev branch를 통해 문제가 발생하지 않은경우, release branch 로 merge
- release branch merge 조건
- 상호 호환되는 코드의 개발이 더 이상 진행되고 있지 않은 경우,
- 목표로한 sprint 기능 및 오류 수정의 단계가 종료된 경우,
- QA 가 종료된 경우
feat
- 앱 내 기능 개발이 진행되는 branch
- 새로운 기능 추가 혹은 기존의 기능을 수정하는 작업(Business logic 변경)이 진행된다.
- 기능 개발이 완료된 feat branch의 경우 진행 순서
- dev branch로 pull request 요청 이후, 코드 리뷰 → 휴가자 이외의 모든 팀원들에게 approve 를 받은 경우, dev branch 로 merge
- reviewer 들의 comment 및 approve 상황을 확인할 수 있고 자동화 빌드의 성공 여부를 확인할 수 있으므로 가급적 git hub 웹 브라우저를 사용하도록 한다
fix
- 앱 내 수정 및 오류 발생 사항에 대한 수정이 진행되는 branch
- 주로 component의 수정, feature 관련 수정이 진행된다.
- 수정사항이 해결된 fix branch의 경우 진행 순서
- dev branch로 pull request 요청 이후, 코드 리뷰 → 이상 없을 경우, dev branch 로 merge
chore
- 라이브러리 업데이트가 진행되는 branch
- 주로 react-native core library 혹은 3rd party library의 버전 업데이트가 진행된다.
- 수정사항이 해결된 경우 진행 순서
- dev branch로 pull request 요청 이후, 코드 리뷰 → 이상 없을 경우, dev branch 로 merge
imp / refactor
- 기능이 변경되지 않지만 코드 구조 혹은 성능이 향상되는 branch (ex. refactoring)
- 주로 결과가 같지만 코드는 수정이 될 때 진행된다.
- 수정사항이 해결된 fix branch의 경우 진행 순서
- dev branch로 pull request 요청 이후, 코드 리뷰 → 이상 없을 경우, dev branch 로 merge
---
title: Git flow
---
%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%%
gitGraph
commit id:"v0.0.0"
branch dev
commit id:" "
checkout dev
branch feat-fix-chore-imp
commit id:"feature | fix | chore | imp"
checkout dev
merge feat-fix-chore-imp
checkout main
merge dev
commit id:"release v0.1.0"
branch hot-fix
commit id:"hot fix"
checkout main
merge hot-fix
checkout main
commit id: "hot-fixed"
checkout dev
merge main
Branch naming convention
feat/티켓아이디(TAS-Number)/summary