3. 오픈 소스 프로젝트에 기여하기

    - 깃허브를 자신의 소스 저장 공간으로 사용하는 것도 좋지만, 깃허브의 핵심이라고 할 수 있는 오픈 소스 프로젝트에

      기여해 보는 경험은 자신의 실력을 키우고, 나아가 타인에게 증명할 수 있는 좋은 기회가 될 것이다.

 

    3-1. contribution의 종류

          - 깃허브에서 기여 활동을 나타내는 말인 contribution에는 소스의 버그를 수정하는 것뿐만 아니라

            그 오픈 소스에 도움이 될만한 거의 모든 활동이 포함된다.

 

          1) 막 특정 오픈 소스에 대해 공부하기 시작했을 경우

            : 대부분 오픈 소스의 README 파일이 영문으로 작성되어 있는데 이를 한국어로 번역하는 것을 해보자.

              (분량이 적은 문서부터 천천히 해보고, 오픈 소스 개발자에게 메일을 통해 번역을 해도 되는지 확인하고 진행하자)

 

          2) 해당 오픈 소스 프로젝트를 어느 정도 이해하고 있는 경우

            : 문서화 작업을 도울 수 있다. (소스나 문서의 오타 수정 또는 잘못 번역된 한글 수정)

 

          3) 소스 코드 수정
            : 오픈 소스의 버그를 찾거나 그 버그를 수정한다. 또는 추가되었으면 하는 기능을 제안할 수 있다.

 

    3-2. 오픈 소스 저장소 복제하기

          - 오픈 소스 프로젝트에 기여하려면 가장 먼저 수정하려는 오픈 소스 저장소 를 자신의 저장소로 복제해야한다.

            (이 과정을 'fork한다'고 한다)

 

실습을 위해 저자의 계정에 있는 저장소에 접속해 [fork] 클릭
저장소가 복제되고 있는 중...
계정 이름/저장소가 나타나고, forked from..으로 어디서 fork했는지 나온다.

저장소를 fork 했다면 그 저장소에 있는 소스나 README 파일일 수정할 수 있다.

 

    3-3. 포크한 저장소를 지역 저장소로 클론하기

          - 포크한 소스는 깃허브의 원격 저장소에 있기 때문에 사용자 컴퓨터로 복제(clone)한 뒤 지역 저장소에서 수정하고 

             push한다.

 

저장소의 주소를 복사한다.
git clone 명령을 사용하여 방금 주소를 복사한 저장소를 복제한다!
원격 저장소에 있던 파일들이 복제되었다.
demo.txt 파일 수정하기
커밋하고 원격 저장소에 push하기
원격 저장소에서 업데이트된 커밋 확인하기

하지만! 원래 소스가 있던 peacein/doit 저장소에 반영되자 않았다.

오픈 소스 개발자에게 수정한 내용을 원래 소스에 합쳐 달라고 알려주어야 한다.

그 방법은 다음 실습에서 하도록 하자.

 

    3-4. 오픈 소스 프로젝트로 pull request 보내기

          - fork 해온 원격 저장소의 새로운 커밋을 원본 저장소에 합치는 방법을 알아보자.

          - 먼저 원본 저장소의 개발자에게 내가 수정한 것을 반영해달라고 요청해야 하는데, 이 요청을 pull request라고 한다.

 

fork한 자신의 저장소에서 [pull request]를 클릭!
원본 저장소의 master Branch와 복제된 저장소의 master Branch 사이에 어떤 차이가 있는지 보여준다.
수정 내용 확인이 다 끝났다면, 수정 내용을 원본 저장소에 반영해달라고 요청하기 위해 [create pull request]를 클릭한다.
커밋할 때 입력했던 커밋 메시지와 설명이 나타난다. 내용 입력이 끝나면 [Create pull request]를 누른다.

원본 저장소의 개발자에게 문서의 어떤 부분을 수정했는지 설명할 내용을 입력하는 것이 좋다.

(원본 저장소에서 영문을 사용한다면, 커밋 메시지와 설명도 영문으로 작성하는 센스!)

 

화면이 원본 저장소의 pull requests으로 바뀌면서 내 pull request가 등록된 것이 나타난다.

보통 이 공간에서 저장소의 개발자와 질문과 답변을 주고 받고,

수정한 내용을 원본 소스에 반영할지 여부를 결정한다.

 

    +) 내가 만든 소스를 누군가가 수정한다면???

 

누군가의 요청을 받은 저장소의 [pull requests] 목록에 숫자가 나타날 것이다.
다른 사용자가 보낸 수정 내용을 컴토하고 자신의 소스에 합치고 싶다면 [Merge pull request]를 클릭한다.

 

+ Recent posts