Pull Request
원격 저장소가 내 변경사항을 풀(Pull)하도록 요청(Request)을 보내는 방식

Pull Request 해보기
Pull Request 5단계
- 기여하려는 저장소를 본인 계정으로 **포크**하기
- 포크한 저장소를 **클론**하기
- 브랜치 생성 후 **생성한 브랜치에서 작업**하기
- 작업한 브랜치 **푸시**하기
- **풀 리퀘스트** 보내기
1. 기여하려는 저장소를 본인 계정으로 포크하기
❓포크(fork)
A *fork* is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project. [View existing forks.](https://github.com/kangtegong/collaboration/network/members)
포크를 하면 이 저장소의 복사본이 나의 계정에 내 소유로 만들어진다.


이건 어디서 복제된 건지 알려준다.

포크는 왜 할까?
왜 우리 계정으로 저장소를 복제해올까?
원본 저장소는 우리 소유가 아니므로 push 권한이 없어서 못한다. 하지만 fork하면 우리 계정에 있는 저장소이므로 push가 가능해진다.
2. 포크한 저장소를 클론하기
⚠️'포크한 저장소'를 클론해야지, '원본 저장소'를 클론하는게 아니다!

클론 완료!

3. 브랜치 생성 후 생성한 브랜치에서 작업하기
해당 브랜치에서 작업해야 하므로 checkout 필수!

이제 여기서 작업을 하면 된다.
파일을 메모장으로 열고, 맨 아래에 값을 추가한 후 저장한다.

변경된 내용을 커밋한다.

4. 작업한 브랜치 푸시하기
변경된 내용을 푸시한다. main이 아니라 add_myname 브랜치에 푸시해야 한다.

5. 풀 리퀘스트 보내기
내 저장소에서 **Compare & pull request**

nno3onn/collaboration 저장소의 add_myname 브랜치가 -> kangtegong/collaboration 저장소의 main 브랜치로 pull 요청을 보낸다.

아래엔 작업 내역도 볼 수 있다 (실수 있는지 확인).

kangtegong/collaboration 저장소에 Pull requests를 보면 내가 요청한 pull request가 생성된 것을 확인할 수 있다.

클릭해서 File changed에 들어가면 변경된 내역을 볼 수 있다.

이제 request가 승인될 때까지 기다리면 된다.
원본 저장소 주인장은 받은 Pull Requests에 코멘트를 달거나 문제가 없으면 **Merge pull requests** 버튼을 눌러서 병합한다. 그러면 자동으로 pull request는 닫기게 되고 원본 저장소에 내가 작업한 내용이 반영된다.
(+) 승인된 후 브랜치는 삭제하기
pull request가 성공적으로 이뤄지고 이 브랜치에서 더이상 할 작업이 없다면 **Restore branch**를 눌러서 브랜치를 삭제하자.
'Github' 카테고리의 다른 글
07_명령어로 깃 다루기 (0) | 2022.11.17 |
---|---|
06_01_깃허브로 협업하기: 연동 및 clone, push, fetch, pull (0) | 2022.11.17 |
05_브랜치로 나누어 관리하기 (0) | 2022.11.16 |
04_버전 가지고 놀기 (0) | 2022.11.16 |
03_버전이 쌓여 사용자에게 선보이기까지: 커밋해시, 태그 (0) | 2022.11.15 |