feature 브랜치에서 작업 후 구현이 다 끝나면 커밋
(push 전 상태에서!!!)
stage 브랜치로 이동
git checkout stage
stage branch pull and merge
git pull origin stage
stage 브랜치가 이미 최신 상태일 경우 3-a 항목 이행
stage 브랜치가 업데이트 됐을 경우 git rebase 하고 3-b 항목 이행
git rebase stage feature
origin feature 브랜치로 push
git push origin featureb. git push -f origin feature 혹은 origin에 해당 feature 브랜치 삭제 후 a 항목 이행
[추가 설명 origin에 feature브랜치를 push 했고 pr은 올렸지만 merge는 되지 않은 상황, 그사이에 stage가 업데이트 되었고 (다른 feature브랜치가 머지 됨). pr올린 브랜치에 수정사항을 반영해서 새로 커밋을 했을 경우, 업데이트 된 stage를 다시 pull 받았을 때 상황임. 그럼 리베이스를 진행해야함. 리베이스를 진행 했을 경우 origin의 feature 브랜치가 생성된 시점(이슈를 만든 시점)의 헤드 위치와 로컬의 feature브랜치의 헤드 위치가 달라져서 일반적인 푸쉬가 되지 않습니다. pr 올리기 전이라면 강제 push를 하거나 origin에 해당하는 브랜치를 삭제하면 일반적인 push가 가능합니다]
GitHub 페이지에서 PR요청 (stage ← feature)
PR 올리고 Squash and merge**(GitHub)**
PR은 팀원이 확인 후 머지
충돌 방지를 위해서 새 브랜치 팔 때 항상 stage으로 이동한 후(최신 상태에서) 새로운 feature 브랜치 파기

develop = stage