온라인 교육을 받다보면 누구나 그렇게 하는 것처럼 웹 서핑을 정말 열심히 하게 된다.

그러다가 우연히 참으로 교육적인 컨텐츠 사이트를 발견하게 되었다.

- First Contributions:  https://github.com/firstcontributions

 

 

첫번째 기여를 해보도록 알려주기 위한 정말 친절한 저장소가 있다니 !!!

- https://github.com/firstcontributions/first-contributions 

 

 

내가 본 것 중에서 가장 많은 언어로 제공해주는 가이드이지 싶다.

물론 한국어도 제공해준다 !!! 태극기를 클릭하자 !!!

- https://github.com/firstcontributions/first-contributions/blob/main/docs/translations/README.ko.md 

 

 

너무나 친절한 가이드이기에 그대로 따라해도 좋지만,

그래도 직접 따라해보면서 조금 더 자세히 안내하는 포스팅을 해보도록 하겠다.

 

① git

이후 작업을 하려면 무엇보다 먼저 git 도구가 설치되어 있어야 한다.

https://git-scm.com/ 

 

 

git 설치 여부 확인 해보고, 필요하면 공식 홈페이지 가이드에 따라 설치 진행하면 된다.

최신 버전 사용하는 것을 권장하지만, 배포판의 경우 살짝 낮은 버전일 수도 있다.

 

 

② Fork

기여하기 위해서는 소스 코드 변경사항을 잠시 담아놓을 나만의 공간(저장소)가 필요하다.

오픈소스 프로젝트를 나만의 저장소로 복사해 놓는 작업을 포크(fork)라고 한다.

아래 이미지 참고하여 fork 버튼을 클릭하자.

- https://github.com/firstcontributions/first-contributions 

 

 

굳이 뭐 다르게 할 필요가 없으면 그냥 기본값 그대로 forked repository를 생성하면 된다.

 

 

개인계정 밑으로 forked repository가 생긴 것을 볼 수 있다.

내 마음대로 손대도 되는 나만의 공간이다.

 

 

③ clone

forked repository를 이제 내 작업환경(local)에 내려받아보자.

 

 

나는 Ubuntu 환경에서 작업을 진행했지만, 명령어 자체는 Windows, Linux, macOS 모두 동일하다.

 

 

④ branch

현재 branch 상황을 확인하고, 파일 수정을 하기 위한 작업용 branch를 생성하자.

 

branch 정보를 보려고 하면 화면 전환이 되는 것이 불편해서 환경 설정 값을 셋팅했다.

> git config --global pager.branch false

 

 

최근 git에서는 branch 전환하는 경우, switch 명령어 사용을 권장한다.

"-c" 옵션을 통해 신규 branch를 생성하고 이동까지 했다.

 

⑤ config

변경사항 저장을 위한 commit을 하려면 사용자 정보가 셋팅되어 있어야 한다.

 

 

branch 정보뿐만 아니라 config 정보라던지 다른 대부분의 출력 방식을 변경해보자.

1페이지가 넘어가는 경우에만 화면 전환을 하고, 그게 아니면 그냥 같은 화면으로 출력하도록 하는 옵션이다.

> git config --global core.pager "less -F -X"

 

user.name 정보와 user.email 정보가 셋팅되어 있지 않으면 아래와 같이 입력해주도록 하자.

> git config --global user.name=this-is-your-name
> git config --global user.email=this-is-your-email

 

⑥ edit

파일 목록을 먼저 확인 해보고, 파일 하나를 수정 작업 해보자.

 

 

contributor 명단에 내 정보를 입력하면 된다.

 

 

 ⑦ commit

변경한 내역을 staging 하고 commit 하면 되는데 ...

 

 

위와 같이 가이드대로 진행을 하면, 나중에 merge가 자동으로 안되는 이슈가 있었다.

 

 

가이드 내용과 달리 "> git add -p"를 통해 staging을 권장하는 내용이 나온다.

 

필수 요소는 아닌 것 같고, 사실 둘의 차이가 왜 발생하는지 이해가 되지는 않지만

이렇게 진행했더니 바로 merge가 된 것으로 보면 이렇게 진행하는 것을 권장한다.

 

 

⑧ push

이제 저장소에 밀어 넣으면 된다.

 

 

⑨ pull-request

이제 github 사이트를 통해서 진행하면 된다.

나의 forked repository를 보면 push 내역을 자동으로 인지해서 pull-request 버튼이 나타난다.

 

 

Description 내용을 보면 간단한 설문 내용도 있으니

찬찬히 읽어보고 제안할 내용 등이 있거나 하면 그에 맞춰서 체크하고 진행해보자.

 

 

⑩ merge

제대로 진행했으면 자동으로 체크 후 merge까지 진행이 된다.

 

 

"Pull requests" 내역의 Closed 항목에서 확인해볼 수 있다.

 

 

Actions 항목에서 내 PR을 위해 수행한 내역을 확인해볼 수 있다.

 

 

⑪ Retry

혹시 merge가 안되고 open 상태로 있다면,

잠시 기다려 보고 그래도 open 상태라고 하면 close 처리 후 다시 진행해보는 것을 추천한다.

 

Actions 내역을 보면 Fail이 아님에도 불구하고,

밑의 그림에서 볼 수 있듯이 Merge PR 부분이 실행되지 않았음을 알 수 있다.

 

 

그러면 Close 하고 다시 PR을 올려보는 것을 추천한다.

 

 

 

이제 여러분은 오픈소스 기여자가 되었습니다 !!!

 

반응형

+ Recent posts