[CodeSquad] Git - Pull Request
진행 방법
- 포토프레임에 대한 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
코드 리뷰 과정
저장소 브랜치에 자신의 github 아이디에 해당하는 브랜치가 존재해야 한다.
자신의 github 아이디에 해당하는 브랜치가 있는지 확인한다.
-
자신의 github 아이디에 해당하는 브랜치가 없는 경우 브랜치 생성 요청 채널을 통해 브랜치 생성을 요청한다.
프로젝트를 자신의 계정으로 fork한다. 저장소 우측 상단의 fork 버튼을 활용한다.
-
fork한 프로젝트를 자신의 컴퓨터로 clone한다.
git clone https://github.com/{본인_아이디}/{저장소 아이디}
ex) https://github.com/godrm/swift-photoframe
- clone한 프로젝트 이동
cd {저장소 아이디}
ex) cd swift-photoframe
- 본인 아이디로 브랜치를 만들기 위한 checkout
git checkout -t origin/본인_아이디
ex) git checkout -t origin/godrm
- 기능 구현을 위한 브랜치 생성 (연속번호를 붙여나간다)
git checkout -b 브랜치이름
ex) git checkout -b photoframe-step1
- commit
git status //확인
git rm 파일명 //삭제된 파일
git add 파일명(or * 모두) // 추가/변경 파일
git commit -m "메세지" // 커밋
- 본인 원격 저장소에 올리기
git push --set-upstream origin 브랜치이름
ex) git push --set-upstream origin photoframe-step1
-
pull request
- pull request는 github 서비스에서 진행할 수 있다.
- pull request는 original 저장소의 브랜치(자신의 github 아이디)와 앞 단계에서 생성한 브랜치 이름을 기준으로 한다.
ex) code-squad/swift-photoframe godrm 브랜치 기준 => godrm/swift-photoframe store-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-photoframe.git
- 위와 같이 base 저장소 추가한 후 remote 브랜치 목록을 보면 4개가 보여야 한다.
git remote -v
-
기본 base 저장소와 sync하기 (PR 보낸 내용을 자신의 기본 저장소와 합치기)
git fetch upstream
git rebase upstream/본인_아이디
ex) git rebase upstream/godrm
-
다음 미션을 해결할 경우 [5단계 브랜치 생성]부터 다시 진행
동영상을 통한 코드 리뷰() 를 통해 참고 가능
Reference
저장소 브랜치에 자신의 github 아이디에 해당하는 브랜치가 존재해야 한다.
자신의 github 아이디에 해당하는 브랜치가 있는지 확인한다.
-
자신의 github 아이디에 해당하는 브랜치가 없는 경우 브랜치 생성 요청 채널을 통해 브랜치 생성을 요청한다.
프로젝트를 자신의 계정으로 fork한다. 저장소 우측 상단의 fork 버튼을 활용한다. -
fork한 프로젝트를 자신의 컴퓨터로 clone한다.
git clone https://github.com/{본인_아이디}/{저장소 아이디}
ex) https://github.com/godrm/swift-photoframe
- clone한 프로젝트 이동
cd {저장소 아이디}
ex) cd swift-photoframe
- 본인 아이디로 브랜치를 만들기 위한 checkout
git checkout -t origin/본인_아이디
ex) git checkout -t origin/godrm
- 기능 구현을 위한 브랜치 생성 (연속번호를 붙여나간다)
git checkout -b 브랜치이름
ex) git checkout -b photoframe-step1
- commit
git status //확인
git rm 파일명 //삭제된 파일
git add 파일명(or * 모두) // 추가/변경 파일
git commit -m "메세지" // 커밋
- 본인 원격 저장소에 올리기
git push --set-upstream origin 브랜치이름
ex) git push --set-upstream origin photoframe-step1
-
pull request
- pull request는 github 서비스에서 진행할 수 있다.
- pull request는 original 저장소의 브랜치(자신의 github 아이디)와 앞 단계에서 생성한 브랜치 이름을 기준으로 한다.
ex) code-squad/swift-photoframe godrm 브랜치 기준 => godrm/swift-photoframe store-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-photoframe.git
- 위와 같이 base 저장소 추가한 후 remote 브랜치 목록을 보면 4개가 보여야 한다.
git remote -v
-
기본 base 저장소와 sync하기 (PR 보낸 내용을 자신의 기본 저장소와 합치기)
git fetch upstream git rebase upstream/본인_아이디 ex) git rebase upstream/godrm
-
다음 미션을 해결할 경우 [5단계 브랜치 생성]부터 다시 진행
동영상을 통한 코드 리뷰() 를 통해 참고 가능
Reference
Github를 이용하는 전체 흐름 이해하기 #1
Github를 이용하는 전체 흐름 이해하기 #2
Github에서 fork한 저장소 최신 원본으로 동기화 하기
Author And Source
이 문제에 관하여([CodeSquad] Git - Pull Request), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@marintelli/Git-Pull-Request저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)