Skip to content

Github workflow

DevWhkang edited this page Sep 28, 2020 · 1 revision

Git workflow



기본 세팅

  1. 팀장은 원격 저장소를 자신의 로컬 저장소로 clone한다.

    1. master 브랜치에서 프로젝트 초기 세팅을 마치고 commit 후 dev 브랜치를 생성한다.
    2. master와 dev 브랜치 모두 원격 저장소로 push한다.
  2. 팀장은 원본 원격 저장소(codestates/beezic-*)의 default branch를 dev로 변경한다.

  3. 팀원은 원본 원격 저장소를 fork하고, fork한 저장소를 로컬 저장소로 clone한다.

  4. 원본 원격 저장소를 upstream으로 추가한다. (git remote add upstream <원본 원격 저장소>)

    • upstream에 변경 사항이 있을 수 있을 때는 먼저 git pull upstream dev 명령어로 최신 변경 사항을 업데이트한다.

작업 흐름

  1. 작업을 진행할 task(issue)의 project 진척도를 In progress로 변경한다.

  2. 로컬 저장소에서 dev 브랜치임을 확인한 후 feature/<issue_number>/<issue_name> 형식으로 브랜치를 생성한다.

    • git checkout -b feature/10/sign-in
    • 브랜치를 분기하기 전 dev 브랜치를 업데이트한다.
  3. feature 브랜치에서 작업을 마친 후 변경 사항을 commit한다.

    • commit 메시지의 헤더 맨 앞에는 적합한 gitmoji를 추가한다.
    • commit 메시지는 이 곳의 룰을 참고한다.
    • commit 메시지의 description 부분에서 이슈와 PR 연결을 위한 keyword를 추가한다.
  4. 만약 upstream으로부터 dev 브랜치에 변경 사항이 있다면, 아래 절차를 따른다.

    • 현재 작업 중이던 feature 브랜치 작업을 마무리한다.(commit)
    • git pull upstream dev 명령어로 최신 변경 사항을 받는다.
    • feature 브랜치에 있음을 확인하고 git merge dev 명령어를 입력한다.
    • conflict가 발생하면 해결한 후 merge를 계속한다.
  5. commit 기록을 git push origin feature/... 명령어로 fork한 원격 저장소에 push한다.

  6. fork한 원격 저장소에서 원본 원격 저장소로 pull request를 한다.

    • dev 브랜치에 PR하는지 꼭 확인한다.
    • reviewers에 모든 멤버를 추가하고, assignee에 자신을 추가한다. milestone과 projects를 지정한다.
  7. PR 후 리뷰를 요청한다. reviewers는 PR을 review를 하고 코드 상태에 따라 comment/approve를 한다.

  8. 전부 승인되면 팀장은 해당 PR을 merge한다. (팀원은 금지)

  9. tasks가 done으로 이동되었는지 확인한다.

  10. upstream으로부터 주기적으로 dev 브랜치를 업데이트한다.

    • feature 브랜치를 분기할 때
    • feature 브랜치에서 작업을 마무리하고 push하기 전 (7번 절차를 따른다.)

Clone this wiki locally