[Github] Github Pull Request - Fork
※ Fork and Pull 모델 - 공동 기여 저장소 모델
※ Fork and Pull 모델
- 중앙화된 코드 호스팅 시스템
- 중앙의 호스팅 시스템을 이용하여 패치 과정을 관리
- 개별 기여자는 그 프로젝트의 복사본을 코드 호스팅 시스템 내 자신의 저장소에 생성
- 기여자들은 복사본을 수정하고 수정된 사항을 병합해 줄 것을 요청
■ 시나리오
- Github에서 하나의 저장소를 선택한다.
- 선택한 저장소를 Fork 한다.
- 포크한 저장소를 로컬에 복제한다.
- 로컬 저장소에서 새로운 브랜치를 만든다.
- 내용을 수정한다.
- 수정된 내용을 로컬 저장소에 반영한다.
- 로컬 저장소의 내용을 원격에 반영한다.
- 원격에 반영된 내용을 풀-리퀘스트를 요청한다.
※ Github - Fork 실습
깃허브 내에서 'solgits' 라는 분의 pylearn 저장소에 들어가서 fork를 해보겠다.
- fork 하기를 원하는 저장소에 들어와서 우측 상단 Fork 를 클릭
- Create fork를 하면 내 저장소에서 forked from ~ 을 확인 가능
- 내 저장소에도 solgits 로부터 fork 해온 pylearn 저장소를 발견할 수 있음
- fork 해온 pylearn 저장소 안에서 Clone 해주기
- git clone 복사한 주소 넣어주기
- pylearn 저장소로 들어가기
- ll 로 어떤 파일들이 있는지 확인
- turtle 폴더 들어가기
- 3가지 py 파일 중 Square2.py 를 수정
- 원래 forword(100) → forward(50) 으로 숫자 변경시키기
- 모두 수정 후 :x 로 저장시키고 vi 나가기
- git status로 상태 확인 : modified 된 Square2.py 파일이 있음
- add 후 commit 시키기 (커밋 메시지 포함)
- git remote --verbose : 원격 리포지토리 연결 상태 확인
- git push origin master : master 브랜치로 push
- 내용을 변경하고 push 해주었기 때문에 Open pull request 를 해주면 됨
- Open pull request를 누르면 보이는 화면
- 변경된 내용 설명 작성 가능
- 변경된 내용 확인 가능
- Create pull request 를 해주기
- 해당 작업자에게 요청이 완료된 상황