[CodeSquad] Git - Pull Request

NOAH·2021년 2월 8일
0

memo

목록 보기
1/2

진행 방법

  • 포토프레임에 대한 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
  • 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
  • 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.

코드 리뷰 과정

저장소 브랜치에 자신의 github 아이디에 해당하는 브랜치가 존재해야 한다.

자신의 github 아이디에 해당하는 브랜치가 있는지 확인한다.

  1. 자신의 github 아이디에 해당하는 브랜치가 없는 경우 브랜치 생성 요청 채널을 통해 브랜치 생성을 요청한다.
    프로젝트를 자신의 계정으로 fork한다. 저장소 우측 상단의 fork 버튼을 활용한다.

  2. fork한 프로젝트를 자신의 컴퓨터로 clone한다.

git clone https://github.com/{본인_아이디}/{저장소 아이디}
ex) https://github.com/godrm/swift-photoframe
  1. clone한 프로젝트 이동
cd {저장소 아이디}
ex) cd swift-photoframe
  1. 본인 아이디로 브랜치를 만들기 위한 checkout
git checkout -t origin/본인_아이디
ex) git checkout -t origin/godrm
  1. 기능 구현을 위한 브랜치 생성 (연속번호를 붙여나간다)
git checkout -b 브랜치이름
ex) git checkout -b photoframe-step1
  1. commit
git status //확인
git rm 파일명 //삭제된 파일
git add 파일명(or * 모두) // 추가/변경 파일
git commit -m "메세지" // 커밋
  1. 본인 원격 저장소에 올리기
git push --set-upstream origin 브랜치이름
ex) git push --set-upstream origin photoframe-step1
  1. pull request

    • pull request는 github 서비스에서 진행할 수 있다.
    • pull request는 original 저장소의 브랜치(자신의 github 아이디)와 앞 단계에서 생성한 브랜치 이름을 기준으로 한다.
    ex) code-squad/swift-photoframe godrm 브랜치 기준 => godrm/swift-photoframe store-step1
  2. code review 및 push

    • pull request를 통해 피드백을 받는다.
    • 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
  3. 기본(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-photoframe.git
    • 위와 같이 base 저장소 추가한 후 remote 브랜치 목록을 보면 4개가 보여야 한다.
    git remote -v
  4. 기본 base 저장소와 sync하기 (PR 보낸 내용을 자신의 기본 저장소와 합치기)

    git fetch upstream
    git rebase upstream/본인_아이디
    ex) git rebase upstream/godrm
  5. 다음 미션을 해결할 경우 [5단계 브랜치 생성]부터 다시 진행

동영상을 통한 코드 리뷰() 를 통해 참고 가능

Reference

Github를 이용하는 전체 흐름 이해하기 #1
Github를 이용하는 전체 흐름 이해하기 #2
Github에서 fork한 저장소 최신 원본으로 동기화 하기

깃 명령어 정리

0개의 댓글