Github에서 PR을 하는 방법을 정리합니다.
포크가 완료되면 개인 계정에 Repository가 만들어집니다.
레포지터리에 있는 url 주소를 복사하고
내 로컬 저장소에 clone합니다.
브랜치는 fork한 프로젝트의 브랜치를 따라 줍니다.
그리고 소스 고치고 commit을 해줍니다.
커밋과 동시에 push 해줍니다.
이렇게 fork된 프로젝트에 commit을 하는 것은 큰 문제가 없습니다. 혼자 사용하는 Repository이니까요. 간섭받을 일이 없는 것입니다.
문제는 이렇게 commit한 내용을 원본 git에 Pull 하는 때입니다.
원본에 내가 수정한 코드가 pull 받게 할려면 pull 권한이 있는 관리자에게 request
를 보내야 합니다.
그것이 pull request
인 겁니다.
👀 승인자 추가(원본 저장소 관리자가)
이런 작업을 할때 Repository 생성시
Setting
> branches
에 들어가서 셋팅을 해야 합니다.
Required a pull request before merging
> Require approvals
그 다음 요청 승인해줄 사람 수를 정합니다. Default로 1
명으로 지정됩니다.
그리고 admin
관리자 역시 Pull Request
을 받고 싶다면
Incluse adminstrators
를 지정해줄 수 있습니다.
만약 레포지토지에 branch를 따서(feature/dsg
) commit 변경한 사항을 push
했다면 다음 화면이 나옵니다.
# git branch 만들기
git branch feature/dsg
이 화면 옆에 Reviewer
를 정할 수 있습니다. 리스트로 나오는 것이니 그중 골라주면 됩니다.
그리고 Create Pull Request
버튼을 눌러주면
다음 화면이 나옵니다.
Reviewer의 승인요청만 기다리면 됩니다.
🙂 간단한 fork -> pull request 하게끔 하는 공용 프로젝트는 이런 승인, 리뷰어없이 아무설정 안하고 하시면 됩니다.
👁🗨 Compare
브랜치 왼쪽에 Compare
버튼을 클릭해주면 Pull request 전에 원본 소스와 fork된 소스를 비교해주는 Comparing changes
화면이 나오게 됩니다.
그냥 될 줄 알았는데.. 또 글을 쓰라고 합니다.
그냥 코드에 어떤 걸 수정했는지 써주면 됩니다.
영어 프로젝트라면 영어로 번역기 써서 돌리시면 됩니다.
Pull Request를 받은 원본 저장소 관리자는 코드 변경내용을 확인하고 Merge 여부를 결정하게 됩니다.
원작자가 승인을 하면 Merge Pull Request
-> Confirm merge
로 원본 저장소에 변경된 사항이 반영이 되고, pull request의 상태는 closed로 변경됩니다.
만일 맘에 들지 않는다 하면 Reject 된다.