-
Notifications
You must be signed in to change notification settings - Fork 2
Github workflow
DevWhkang edited this page Sep 28, 2020
·
1 revision
-
팀장은 원격 저장소를 자신의 로컬 저장소로 clone한다.
- master 브랜치에서 프로젝트 초기 세팅을 마치고 commit 후 dev 브랜치를 생성한다.
- master와 dev 브랜치 모두 원격 저장소로 push한다.
-
팀장은 원본 원격 저장소(codestates/beezic-*)의 default branch를 dev로 변경한다.
-
팀원은 원본 원격 저장소를 fork하고, fork한 저장소를 로컬 저장소로 clone한다.
-
원본 원격 저장소를
upstream으로 추가한다. (git remote add upstream <원본 원격 저장소>)- upstream에 변경 사항이 있을 수 있을 때는 먼저
git pull upstream dev명령어로 최신 변경 사항을 업데이트한다.
- upstream에 변경 사항이 있을 수 있을 때는 먼저
-
작업을 진행할 task(issue)의 project 진척도를
In progress로 변경한다. -
로컬 저장소에서 dev 브랜치임을 확인한 후 feature/<issue_number>/<issue_name> 형식으로 브랜치를 생성한다.
git checkout -b feature/10/sign-in- 브랜치를 분기하기 전 dev 브랜치를 업데이트한다.
-
feature 브랜치에서 작업을 마친 후 변경 사항을 commit한다.
-
만약 upstream으로부터 dev 브랜치에 변경 사항이 있다면, 아래 절차를 따른다.
- 현재 작업 중이던 feature 브랜치 작업을 마무리한다.(commit)
-
git pull upstream dev명령어로 최신 변경 사항을 받는다. - feature 브랜치에 있음을 확인하고
git merge dev명령어를 입력한다. - conflict가 발생하면 해결한 후 merge를 계속한다.
-
commit 기록을
git push origin feature/...명령어로 fork한 원격 저장소에 push한다. -
fork한 원격 저장소에서 원본 원격 저장소로 pull request를 한다.
- dev 브랜치에 PR하는지 꼭 확인한다.
- reviewers에 모든 멤버를 추가하고, assignee에 자신을 추가한다. milestone과 projects를 지정한다.
-
PR 후 리뷰를 요청한다. reviewers는 PR을 review를 하고 코드 상태에 따라 comment/approve를 한다.
-
전부 승인되면 팀장은 해당 PR을 merge한다. (팀원은 금지)
-
tasks가 done으로 이동되었는지 확인한다.
-
upstream으로부터 주기적으로 dev 브랜치를 업데이트한다.
- feature 브랜치를 분기할 때
- feature 브랜치에서 작업을 마무리하고 push하기 전 (7번 절차를 따른다.)
