-
Notifications
You must be signed in to change notification settings - Fork 8
branch strategy
gitlab flow를 base로 프로젝트에 적합하게 수정함.
모든 규칙은 서로를 배려하고 이해하기 위해 존재한다!
각 branch 및 commit의 상태를 시각화 하기 위해 팀원은 "GitKraken", 혹은 "Sourcetree"를 사용한다.
vsCode용 확장 프로그램인 "git graph"를 사용하는 것도 지향한다.
remote 저장소의 branch 구성은 다음과 같다
- master
- develop
- cooperation branch
- 2ssue
- changicho
- leecoders
- ocy1011
LTS 버전을 저장하는 branch
일주일에 최소 한번 이상 develop branch에서 merge 한다.
master branch 가 갱신된 경우 배포 서버도 갱신된다.
개발이 완료 된 feature 들을 한꺼번에 모아놓은 branch.
가장 merge가 활발하게 일어나는 branch이다.
하루에 한번 develop-nickname branch들에서 날아온 PR을 merge해 갱신한다.
PR끼리 충돌이 잦을 수 있다.
각 팀원 별로 프로젝트를 작업하는 branch.
develop branch가 merge되어 갱신된 경우 pull로 최신 상태로 업데이트 한 뒤 작업한다.
develop branch와 충돌이 잦을 수 있다.
프로젝트 초기 구성이 완료된 master branch에서 develop branch를 생성한다.
develop branch에서 각 팀원의 cooperation branch를 생성한다.
각 팀원은 remote 저장소에서, 자신의 branch만 --single-branch 옵션으로 clone한다.
각자의 local에서 작업 후, remote의 자신 branch로 push 한다.
local에서 따로 feature branch를 생성해 작업할 수 있다.
하루 기능이 완료된 후 develop branch에 작업 내용을 갱신한다.
(feature branch의 merge 포함)
local develop branch에서 remote develop branch에 Pull Request를 날린다.
각 기능을 개발하며 충돌이 날 수 있으므로 코드의 모듈화를 통해 충돌을 예방하는 전략을 사용한다.
충돌이 났을 경우, 충돌이 난 인원끼리 모여 충돌 부분을 개선한다.
공통적으로 사용 및 수정하는 파일의 경우는 PR을 주기적으로 날리고, merge할 수 있다.
master → ncloude (배포서버)
↑
develop
↗↙ ↑↓ ↑↓ ↖↘
co-op co-op co-op co-op
branch1 branch2 branch3 branch4