첫 오픈소스 기여 a.k.a. Pull Request

뭐 엄청 작은부분이지만, 그래도 첫 오픈소스 기여를 기념하여 그 과정을 기록한다.

오픈소스에 기여하는 방법이라고 제목에 적었지만, git을 처음다루는 사람들에게 어떻게 PR을 만드는지 알려주는 가이드라고 생각해주면 좋을것같다.

오픈소스를 기여하는 방법은 4가지 정도로 생각할 수 있다.

  1. 오픈소스 프로젝트 후원하기
  2. 문서 번역하기
  3. 버그 수정해서 PR하기
  4. 새로운 기능 제안하기

난 이 중 2번인 문서 번역을 선택했다. 막연히 오픈소스에 기여해보고 싶던차에 1년 넘게 잘 사용하고 있는 깃헙 블로그 테마인 Hueman 프로젝트를 살펴봤다. 아직까지 사용하며 버그를 발견하지는 못했고, 새로운 기능을 제안하기 앞서 먼저 문서를 살펴봤다. 여러가지 언어를 지원하는데, 한글 컨텐츠 중에 일부가 번역이 되있지 않은걸 확인했다. 그래서 이 부분을 번역해서 PR하기로 했다.

그럼 이제부터 오픈소스에 참여하는 절차를 정리해보자.

  1. 저장소 fork하기
  2. 로컬에 프로젝트 clone
  3. 개발 하기
  4. Commit & Push
  5. Pull Request
  6. Merge

1. 저장소 fork하기

참여하고 싶은 오픈소스 저장소를 내 github 저장소로 fork를 한다. 우측 상단에 보면 fork버튼이 있다. 이걸 클릭하면 내 저장소로 저장소를 그대로 복제한다.

Github CLI 명령어는 다음과 같다.

1
$ gh repo fork [repository][flags]

fork한 이후 생긴 저장소이다.

2. 로컬에 프로젝트 clone

이제 저장소를 로컬환경으로 clone한다.

1
$ gh repo clone <repository> [<directory>] [-- <gitflags>...]

3. 개발하기

내가 한 작업은 개발이 아닌 번역 수준이지만, 어쨋든 코드를 작성한다.

4. Commit & Push

혼자만 볼게 아니라 나중에 프로젝트 관리자가 리뷰를 할 것이므로 가급적이면 커밋도 작게 나누도록 하자.

1
$ git commit -am "commit-message" && git push -u origin [branch-name]

5. Pull Request

push한 저장소로 웹에 접속하면, 아래의 이미지처럼 오리지널 저장소와 비교하고 Pull Request할 수 있는 버튼이 활성화된걸 볼 수 있다.

개발자분이 쉽게 이해하실수 있도록 신경써서 PR 메세지를 작성하도록 하자.

당연히 Github CLI로도 PR을 할 수 있다.

1
$ gh pr create [flags]

오픈소스 저장소 Pull Request에 들어가면 방금 올린 PR을 확인할 수 있다.

1
$ gh pr list

이제 커밋이 Merge되거나 거절당할때까지 기다리면 된다.

6. Merge

Merge되면 아래처럼 PR 라벨이 Open에서 Merged로 변경된다.

이렇게 저장소의 Contributor에 이름도 추가되었다!


비록 번역 몇 단어한 것에 불과하지만 첫 오픈소스 기여여서 기념차 작성한 포스팅이다. 나중엔 버그를 잡아보거나 새로운 기능을 제안하는 PR도 해보고 싶다.