태어나 처음으로 GitHub의 OSS에 풀 요청을 통한 이야기

솔직히 n번 달콤한 내용입니다만, 자신용의 메모로서 남겨 둡니다.

OSS란?



오픈 소스 소프트웨어(영어: Open Source Software, 약칭: OSS)는 사용자의 목적에 관계없이 소스 코드를 사용, 조사, 재사용, 수정, 확장, 재배포할 수 있는 소프트웨어의 총칭이다 [https://ko.wikipedia.org/wiki/ 오픈 소스 소프트웨어 ]

Golang과 Kotlin과 같은 프로그래밍 언어를 비롯하여 Visual Studio Code와 같은 편집기도 OSS로 배포됩니다. 또한 많은 OSS가 Github에서 관리됩니다.

OSS 개발에 기여하는 절차



이번에 실제로 통과 한 PR (풀 요청)은 여기입니다. 주식회사 록온 님이 개발하고 있는 EC 사이트의 OSS입니다.
CSS 한 줄을 다시 작성한 단순한 편집 만하고 있습니다.

OSS 개발 문서 읽기



OSS는 불특정 다수에 사람이 자유롭게 편집해, 소스 코드의 추가·수정이 행해져 갑니다.
따라서 명명 규칙이나 디렉토리 구성 등이 미리 책정되어 있는 경우가 많습니다. 편집을 시작하기 전에 문서를 읽어 봅시다.

issue 찾기



현시점에서의 버그나 추가해야 할 기능등이 Github의 issues로 들려져 각 엔지니어가 논의합니다.
issue는 해결의 우선 순위와 수정의 난이도에 따라 다른 레이블이 붙어 있습니다.
이번에는 쉽게 공헌 할 수있는 것 같은 "Easy"를 선택하고 찾았습니다.

소스 코드를 편집하고 PR을 보내기



리포지토리 포크


  • 포크 할 리포지토리에 액세스
  • 오른쪽 상단의 포크 버튼을 눌러 계정의 원격 리포지토리에 복사



  • 포크 한 내용이 리포지토리 이름 아래에 표시됩니다.


    로컬 리포지토리에 복제



    포크 한 원격 리포지토리에서 복제하고 remote url을 설정합니다.
    $ git clone [repository url]
    $ git remote add origin [your repository url]
    

    또한 자신의 작업 브랜치를 준비합니다. 어떤 문제를 해결했는지 알 수있는 지점 이름이 선호됩니다.
    이번은 CSS에 의한 표시를 변경하는 것만이므로, 수정하는 취지를 나타내는 브랜치명으로 했습니다.
    $ git checkout -b fix/plugin-version-display
    

    실제로 작업하고 자신의 환경에서 테스트



    소스 코드를 편집하고 커밋하고 푸시합니다.

    PR 만들기



    포크 한 리포지토리에 푸시하면 PR을 작성하는 버튼이 Github에 나오므로 버튼을 눌러 PR을 작성합니다.
    PR의 작성시에는 메세지를 쓰는 란이 있으므로, 여기에 어느 issue를 해결했는지, 어떤 구현을 실시했는지 등 이번 PR의 개관을 알 수 있는 설명을 기술합니다.
    이번에는 PR 메시지의 형식도 정해져 있기 때문에 그것을 따라 설명합니다.

    CI 및 리뷰



    이번 프로젝트에서는 PR에 대해 Scrutinizer나 Travis CI에 의한 테스트가 행해지고 있었습니다.
    이러한 테스트를 통과하지 않으면 원래 요청이 승인되지 않습니다 (품질을 유지하기 위해).
    PR은 리뷰어가 내용을 확인하고 문제가 없으면 병합됩니다. 이번에는 수정에 아무런 문제없이 그대로 병합했습니다.

    감상



    1파일 1행 수정 1커밋만의 간단한 PR이었지만, 원인을 찾는 동안 프로젝트에 사용되고 있는 기술적인 것을 알거나 배우는 것이 많이 있었습니다.
    실제로 자신이 한 수정이 본 버전에 반영되면 동기 부여가 오르고 다음도 기여하고 싶어집니다. 더 PR 양산해 갑니다! ! ! !

    좋은 웹페이지 즐겨찾기