Next-Step 교육을 들으면서 코드 리뷰를 위한
Pull-Request
(이하 PR)생성 방법과
오픈 프로젝트 참여를 위한Fork
Clone
Branch 생성
페어의 깃에서 코드가져오기
방법을 정리한 포스트 입니다.
사용된 이미지 파일중 일부는 next-step git의 Readme에서 가져왔습니다.
Fork
를 클릭하면내 Git 저장소
에 새로운Repository
가 생성이된다.
fork한 저장소는 github.com에 존재하기 때문에 바로 작업할 수 없다.
clone 명령은 github.com에 존재하는 저장소를 자신의 노트북 또는 PC로 복사하는 과정이다.
git clone -b {본인_아이디} --single-branch https://github.com/{본인_아이디}/{저장소 아이디}
ex) git clone -b javajigi --single-branch https://github.com/miot2j/java-racingcar
--single-branch
는 오픈 리포지토리의 경우 굉장히 많은 branch
들이 있어 다른 branch
를 제외한 내 branch
만 복사해 오기 위함
개발을 할때 기능단위로
Branch
를 생성하고 기능구현이 완료되면PR
을 보내고 승인이 되면 삭제하는 것이 일반적이다.
git checkout -b 브랜치이름
ex) git checkout -b step1
로컬 PC에 저장된 파일을 Intellij를 통해 열어야 한다.
다운 받은 폴더를 open하면 된다.
코드를 구현후
push
가 완료 되었다면
Pull Request
를 보내 관리자가 내 코드와 기존의 코드를Merge
해달라고 요청 하도록 한다.
- pull request는 github에서 제공하는 기능으로 코드리뷰 요청을 보낼 때 사용한다.
- pull request는 original 저장소(next-step의 저장소)의 브랜치(자신의 github 아이디)와 앞 단계에서 생성한 브랜치 이름(앞 단계의 예에서는 step1)을 기준으로 한다.
ex) 미션을 진행한 javajigi/java-racingcar step1 브랜치 =>
next-step/java-racingcar javajigi 브랜치로 pull request를 보낸다.
페어프로그래밍을 진행할 경우 지금까지 구현한 모든 소스 코드는 한 사람의 저장소에서 관리된다.
이를 가져오기 위해선 페어의 저장소에 있는 소스 코드와 커밋 이력을 내 저장소로 가져와야 한다.
git remote add pair https://github.com/{페어_아이디}/{저장소_아이디}.git
git remote -v
origin https://github.com/{본인_아이디}/{저장소_아이디}.git (fetch)
origin https://github.com/{본인_아이디}/{저장소_아이디}.git (push)
pair https://github.com/{페어_아이디}/{저장소_아이디}.git (fetch)
pair https://github.com/{페어_아이디}/{저장소_아이디}.git (push)
git fetch pair {브랜치_이름}
git checkout -t pair/{브랜치_이름}
git push origin {브랜치_이름}
git remote
명령은 프로젝트의 리모트 저장소를 관리하는 명령어
git fetch
명령은 원격 저장소의 커밋들을 로컬 저장소로 가져오는 명령어
git checkout
명령은 브랜치를 선택하고 브랜치로 이동하는 명령어