PR (Pull Request)는 다양한 용도로 사용됩니다.
그중에서 가장 자주 사용되는 용도는 아래 두 가지입니다.
그럼 GitHub에서 Pull Request 방법을 알아보겠습니다.
두 가지 모두 동일한 방식입니다.
참여하고 싶은 프로젝트를 Fork 합니다.
그럼 나의 저장소에 Forked Repository가 생성됩니다.
참고로 Fork는 저장소를 그대로 가져오지만, 원본 저장소에 대한 권한은 없습니다.
그래서 Pull Request를 통해 검토 요청을 하게 되고, 승인을 받으면 Merge를 통해 적용됩니다.
Fork된 저장소를 로컬에 복사합니다.
이때 Remote는 origin으로 기본 설정됩니다.
그리고 원본 프로젝트의 저장소를 Remote로 추가 지정해 줍니다.
여기서는 upstream으로 명명하겠습니다.
git clone https://github.com/devfoxstar/spring-boot.git git remote add upstream https://github.com/spring-projects/spring-boot.git
설정된 Remote 값을 보면, 2개의 저장소가 보입니다.
origin (나의 저장소 - Forked), upstream (원본 저장소)
로컬에 복사된 저장소에서 작업용 Branch를 생성합니다.
git checkout -b develop
생성한 Branch에서 코드 작업을 진행합니다.
작업한 코드를 Branch에 배포합니다.
git add . git commit -m "작업 내용" git push origin develop
나의 GitHub에 가면 Compare & pull request 버튼이 보입니다.
작업한 코드를 설명하고, Create pull request로 처리합니다.
원본 프로젝트에서 PR이 승인되면, 내가 작업한 코드가 Merge 됩니다.
그러면 로컬 저장소의 코드를 동기화 하고, 작업한 Branch를 삭제합니다.
git pull upstream main
git branch -D develop git push origin --delete develop