Pull Request
Pull Request란?
Push권한이 없는 프로젝트에 기여할 때 사용한다. Fork를 이용해 새로운 Repository를 생성하여 작업하고 Pull Request를 하면 원본 프로젝트 관리자가 코드 변경내역을 확인하여 Merge여부를 결정한다.
의미 : 내가 작업한 코드를 있으니 검토후 병합해주세요
방법
Github와 GitKraken을 통해 PR하는 과정이다. 다른 방법이 존재할 수 있다.
- Fork
- clone, remote 설정
- branch 생성
- 수정 작업 후 add, commit, push
- Pull Request 생성
- 코드리뷰, Merge Pull Request
- 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 request
→ Confirm merge
하면 원본프로젝트에 Merge된다.
git 초보를 위한 풀리퀘스트(pull request) 방법
Pull Request를 이용한 개발 흐름을 적용해 보고 나서... :: Outsider's Dev Story