Git 교과서

코드 이력, 하나도 놓치지 마라!

버전 관리 시스템의 이해와 설치부터 커밋, 브랜치, 임시 처리, 병합, 복귀, 서브모듈, 태그까지
깃, 소스트리, 깃허브로 실습하며 기본기를 탄탄하게 다진다!

Yes24 교보문고 알라딘 인터파크 길벗

풀-리퀘스트


깃은 분산형 버전 관리 시스템입니다. 분산되어 있는 저장소는 원격 저장소를 통하여 통합할 수 있습니다. 이 과정에는 원격 저장소의 접근 권한이 필요합니다.


협업 >>학습하기


깃허브는 분산되어 있는 저장소의 접근 권한의 문제를 해결하고, 불특정 다수를 대상으로 저장소를 병합할 수 있는 풀-리퀘스트 기능을 제공합니다. 깃허브는 풀-리퀘스트 기능을 사용하여 오픈 소스 생태계를 활성화에 큰 기여를 하게 됩니다. 또한, 깃허브가 대표적인 깃호스팅 서비스로 자리를 잡게 된 계기가 되었습니다.


프로젝트 >>학습하기


풀리퀘스트를 실습할 수 있는 프로젝트를 탐색합니다. 또는 2개의 계정을 이용하여 프로젝트 실습 환경을 준비합니다.


step1. 포크 >>학습하기


포크는 타인의 저장소를 수정 접근할 수 있도록 저장소를 복제하는 기능입니다.


step2. 복제 >>학습하기


포크된 저장소의 코드를 자신의 로컬 컴퓨터로 복제합니다.


step3. 코드수정 >>학습하기



step4. 요청 >>학습하기



step5. 토론 >>학습하기



step6. 코드리뷰 >>학습하기



step7. 테스트 및 검증 >>학습하기



step8. 코드반영 >>학습하기



관리 >>학습하기



정리


깃허브는 서로 간의 저장소를 공유하고, 복제하여 기여할 수 있는 오픈 소스 생태계를 지원합니다. 그리고 깃 자체만으로 힘든 원격 저장소 간의 복제와 병합을 쉽게 해줄 수 있는 풀-리퀘스트 기능의 서비스를 제공합니다.

풀 리퀘스트는 최종적으로 권한이 없는 메인 저장소의 코드를 변경하는 것입니다. 불특정 대상으로 코드의 수정을 허용하기 위해서는 깃허브는 포크라는 원격 저장소의 복제와 병합 처리를 풀-리퀘스트라는 것으로 분리하였습니다. 여기서 앞에 풀(full)이란 포크 저장소 전체를 대상으로 하기 때문에 붙여진 이름입니다.

풀-리퀘스트는 실제 실무 환경에서 이처럼 간단하지 않습니다. 수많은 의견과 충돌, 코드의 병합이 동시에 발생되고 해결을 요청합니다. 따라서 풀-리퀘스트를 요청할 때 충분한 테스트 과정을 거쳐서 문제가 발생되지 않도록 미연에 방지해야 합니다.