오픈 소스 기여용 소원 저장 프로젝트!

6397 단어 gitgit


🌑 . 프로젝트 동기

오픈 소스에 기여해보는 것은 내가 가장 해보고 싶었던 것이다. 하지만 막상 해보려고 하니, 어디서 어떤 것 부터 해야할지 감이 안왔다. 여러 오픈 소스를 시작하는 방법에 대해서도 찾아보고 이해해보려고 했으나 두려움이 앞섰다.

(심지어 영어로 기여를 해야한다는 생각에 더 해볼 생각을 못했던 것 같다. 😪)

그래서 두려움을 없애고 기여하는 행동에 대해 조금이나마 흥미와 재미를 느낄 수 있도록 굉장히 간단한 오픈 소스 기여 프로젝트를 만들어보고자 이 프로젝트를 진행하게 되었다.

프로젝트 주제는 남산타워의 사랑의 자물쇠에서 영감을 받아 자신의 소원을 적는 "소원 저장소"로 정했다.

출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sum-lab&logNo=221114575815

🌒 . 프로젝트 환경

프로젝트 진행에 필요한 환경은 다음과 같다.

  • Git

그리고 이 프로젝트는 3가지만 잘 구분하면 따라가는데 큰 문제는 없다.

  • 필자의 원격 저장소 (원본)
  • 독자의 원격 저장소
  • 독자의 로컬 저장소

🌓 . 프로젝트 진행 순서

  • 필자의 원격 저장소에 Issue 등록
  • 필자의 원격 저장소 Fork
  • Fork한 독자의 원격 저장소를 독자의 로컬에 Clone
  • Clone한 독자의 로컬 저장소에 PR을 보낼 필자의 원격 저장소 설정
  • 독자의 로컬 저장소에 PR용 새로운 브랜치 생성 및 이동
  • 독자의 로컬 저장소에 새로운 파일 추가, 커밋, 푸시
  • Fork한 독자의 원격 저장소에서 Compare & pull request > Create pull request
  • 독자의 원격 저장소의 PR용 브랜치 삭제

🌔 . Issue 등록

Issue 등록은 필자의 원격 저장소에 작성해주면 된다. 사전에 Issue 등록에 필요한 템플릿을 작성해두었으니, 템플릿 내용대로 작성하여 올려주면 된다.

(Issue 번호는 뒤에서 필요하기 때문에 기억해주시기 바랍니다.)

# Issue 🔥

*현재 날짜와 자신의 깃허브 이름을 작성해주세요.*

예시)
[2022-01-01] maketheworldwise의 Issue 등록

🌕 . 독자 설정

# 1. 필자의 원격 저장소 Fork

# 2. Fork한 독자의 원격 저장소를 독자의 로컬에 Clone
$ git clone https://github.com/YOUR_FORK_USERNAME/YOUR_FORK.git

# 3. Clone한 독자의 로컬 저장소에 PR을 보낼 필자의 원격 저장소(origin) 설정
$ git remote add upstream https://github.com/ORIGIN_OWNER/ORIGIN_REPO

# 4. 독자의 로컬 저장소에 PR용 새로운 브랜치 생성 및 이동
$ git checkout -b prbranch

🌖 . 새로운 파일 추가

독자가 오픈 소스에 기여할 부분으로는, 자신의 깃허브 아이디로된 MD 파일을 추가해주면 된다. 그리고 간략하게 자신의 소원을 작성해주면 된다.

# 나의 소원은? 🙏🏻

*자신의 소원을 작성해주세요!*

예시)
돈 많은 백수가 되고 싶어요!

작성이 완료되면 커밋과 푸시를 진행한다.

깃허브에서 커밋 후 푸시를 하거나 PR을 보낼 때 특정 형식으로 커밋 메시지를 작성하면 관련된 Issue와 커밋을 연결하거나 Issue의 상태를 변경할 수 있다. 수동으로 연결할 수도 있고, 키워드를 이용하여 PR과 Issue를 연결할 수 있다.

이 프로젝트에서는 커밋 메시지에 키워드를 작성하기 때문에 필자가 승인만 하면 자동으로 이슈와 연결되어 처리되니 수동으로 연결하도록 기획했다. 따라서 수동으로 연결할 필요없이 위에서 등록했던 Issue Number로 커밋 메시지를 작성해주도록 한다. Issue의 경우 필자의 원격 저장소에 등록되어있으니 필자의 원격 저장소 이름을 Issue Number 앞에 작성해주는 것을 잊지말고 추가해주어야 한다.

(무지성으로 승인을 할 예정이기 때문에 자신이 등록한 Issue Number가 맞는지 꼭 확인해야한다. 😉)

$ git add .
$ git commit -m "close maketheworldwise/wishes-md-repository#[Issue Number]"
$ git push origin prbranch

🌗 . PR 전송

PR 승인 요청도 독자들이 크게 신경쓸 부분은 없다. 마찬가지로 PR 템플릿이 있으니, 그저 Compare & pull request > Create pull request 순서대로 버튼만 눌러주면 된다.

# PR 내용

PR 승인 부탁드립니다!

🌘 . 브랜치 삭제

만약 독자분들의 PR이 승인이 되어 필자의 저장소에 merge 되었다면, PR용 브랜치 작업은 끝났으니 삭제해준다.

# 다른 브랜치로 이동
$ git checkout master

# 브랜치 삭제
$ git branch -D prbranch
$ git push origin --delete prbranch

🌑 . 구현 화면

혹시나 내가 설명한 내용이 어려울 수 있어 필요할 것 같은 부분만 이미지를 첨부한다. 실습에 사용한 깃허브 아이디는 이전에 사용했던 아이디로 진행했다.

  • Issue 등록

  • Fork (생략)

  • Clone (생략)

  • 저장소 설정 (생략)

  • 브랜치 생성 (생략)

  • 소원 파일 추가 (생략)

  • 커밋 및 푸시 (생략)

  • Compare & pull request

  • Create pull request


  • 필자의 PR 승인 (승인이 완료되면, 올려둔 Issue가 함께 닫히는 것을 확인할 수 있다.)

🌒 . 이 글의 레퍼런스

단 한 번으로는 완벽하게 숙지했다고 할 수 없다. 따라서 하단의 링크를 참고하여 다른 프로젝트에도 참여해보는 것을 권장한다. ☺️

좋은 웹페이지 즐겨찾기