Pull Request

Pull Request란?

Push권한이 없는 프로젝트에 기여할 때 사용한다. Fork를 이용해 새로운 Repository를 생성하여 작업하고 Pull Request를 하면 원본 프로젝트 관리자가 코드 변경내역을 확인하여 Merge여부를 결정한다.

의미 : 내가 작업한 코드를 있으니 검토후 병합해주세요

방법

Github와 GitKraken을 통해 PR하는 과정이다. 다른 방법이 존재할 수 있다. 
  1. Fork
  2. clone, remote 설정
  3. branch 생성
  4. 수정 작업 후 add, commit, push
  5. Pull Request 생성
  6. 코드리뷰, Merge Pull Request
  7. Merge 이후 branch 삭제 및 동기화

1. Fork

참여하고 싶은 프로젝트가 생기면 아마 그 프로젝트에 Push 할 권한은 없을 테니까 “Fork” 해야 한다. “Fork” 하면 GitHub이 프로젝트를 통째로 복사해준다. 그 복사본은 사용자 네임스페이스에 있고 Push 할 수도 있다.

타겟 프로젝트(참여/기여하고싶은 프로젝트)의 저장소를 자신의 저장소로 Fork한다.


여기서는 내 저장소를 Fork하는거라 pknu-wap repository로 Fork했음

 

지정한 저장소에 Fork 되었다.

2. clone, remote 설정

Fork로 생성한 본인 계정의 저장소에서 clone or download버튼을 누르고 URL을 복사한다.

 

깃 크라켄에서 클론을 해준다.

3. Branch 생성

새로 적용한 풀 리퀘스트를 이용한 흐름은 GitHub의 원격 저장소를 각자의 계정으로 Fork해 간 뒤에 fork 한 저장소를 클론 받아서 작업용 브랜치를 하나 만들어서 작업하고 이를 Fork 한 저장소에 푸시해서 풀 리퀘스트로 원격 저장소에 보내는 방식이다. 로컬에서 master 브랜치에 작업해도 되지만 이렇게 하면 풀 리퀘스트를 나누어서 작업하기 쉽지 않으므로 Pull Reqeust마다 새로운 브랜치를 만들어서 Fork 저장소에 푸시한다.

브랜치를 누르고 브랜치 이름을 정해준다.


4. 코드 작성 후 add, commit, push

 

코드를 작성/수정하고 add, commit, push 해준다.

push 시에 branch로 해주어야 한다.

5. Pull Request 생성

 

Fork를 한 저장소로 들어오면 Compare & pull request 버튼이 활성화된다.

PR을 작성해준다.

6. 코드리뷰, Merge Pull Request

원본 프로젝트의 Pull requests 페이지에 들어가면 comment를 달며 토론할 수 있다.

Merge pull requestConfirm merge 하면 원본프로젝트에 Merge된다.


git 초보를 위한 풀리퀘스트(pull request) 방법

Pull Request를 이용한 개발 흐름을 적용해 보고 나서... :: Outsider's Dev Story

+ Recent posts