- 카드게임 iOS 앱 요구사항을 파악한다.
- 기존 레벨2 카드게임 요구사항을 구현한 소스 코드를 재사용한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
저장소 브랜치에 자신의 github 아이디에 해당하는 브랜치가 존재해야 한다.
자신의 github 아이디에 해당하는 브랜치가 있는지 확인한다.
-
자신의 github 아이디에 해당하는 브랜치가 없는 경우 브랜치 생성 요청 채널을 통해 브랜치 생성을 요청한다. 프로젝트를 자신의 계정으로 fork한다. 저장소 우측 상단의 fork 버튼을 활용한다.
-
fork한 프로젝트를 자신의 컴퓨터로 clone한다.
git clone https://github.com/{본인_아이디}/{저장소 아이디}
ex) https://github.com/godrm/swift-cardgameapp
- clone한 프로젝트 이동
cd {저장소 아이디}
ex) cd swift-cardgameapp
- 본인 아이디로 브랜치를 만들기 위한 checkout
git checkout -t origin/본인_아이디
ex) git checkout -t origin/godrm
- 기능 구현을 위한 브랜치 생성 (연속번호를 붙여나간다)
git checkout -b 브랜치이름
ex) git checkout -b card-step1
- commit
git status //확인
git rm 파일명 //삭제된 파일
git add 파일명(or * 모두) // 추가/변경 파일
git commit -m "메세지" // 커밋
- 본인 원격 저장소에 올리기
git push --set-upstream origin 브랜치이름
ex) git push --set-upstream origin card-step1
-
pull request
- pull request는 github 서비스에서 진행할 수 있다.
- pull request는 original 저장소의 브랜치(자신의 github 아이디)와 앞 단계에서 생성한 브랜치 이름을 기준으로 한다.
ex) code-squad/swift-cardgameapp godrm 브랜치 기준 => godrm/swift-cardgameapp card-step1
-
code review 및 push
- pull request를 통해 피드백을 받는다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
-
기본(upstream) 브랜치 전환 및 base 저장소 추가하기(최초 시작하기 단계 한번만 하면 됨)
git checkout 본인_아이디 git remote add upstream base_저장소_url ex) git checkout godrm ex) git remote add upstream https://github.com/code-squad/swift-cardgameapp.git
- 위와 같이 base 저장소 추가한 후 remote 브랜치 목록을 본다.
git remote -v
-
기본 base 저장소와 sync하기 (PR 보낸 내용을 자신의 기본 저장소와 합치기)
git fetch upstream git rebase upstream/본인_아이디 git push ex) git fetch upstream git rebase upstream/godrm git push
-
다음 미션을 해결할 경우 [5단계 브랜치 생성]부터 다시 진행