[ 一日30分 인생승리의 학습법]  [Git] Github 오픈소스 기여해보기

 

 

안녕하세요 Foma ????  입니다!

 

오늘은 오픈소스에 기여하는 방법에 대해서 알아보려고 합니다!

 

바로 시작할게요~


1. 기여할 오픈소스 찾기

 

평소 자기가 관심이 있거나, 기여해보고 싶은 공개 레포지토리를 찾습니다.

 

(저는 iOS 면접질문을 정리하는 iOS-Dev-Career 라는 레포지토리를 선택했습니다.)

 

 


2. 내 레포지토리로 가져오기

 

레포지토리 우측 상단에 보면 Fork라고 적혀있을거에요.

 

해당 버튼을 눌러서 내 레포지토리로 가져옵니다.

 

 

 

 

가져오면 자신의 깃헙에 레포지토리가 만들어진 것을 볼 수 있습니다.

 

 

 


3. 로컬로 레포지토리 복사해오기

 

위에서 가져온 레포지토리를 로컬(자신의 컴퓨터)에 복사합니다.

 

터미널을 켜고 원하는 위치로 이동한 뒤 아래와 같이 git clone 복제한 깃헙 주소를 적어줍니다.

 

 

 

$ git clone <복제한 깃헙 주소>

 

주소는 Code 버튼을 누르면 확인할 수 있습니다.

 

 

 

 

클론이 완료되면 아래와 같이 폴더가 복제된 것을 볼 수 있습니다.

 

 

 

 

 

 


4. 원래 레포지토리 정보 추가해주기

 

위의 레포지토리는 제 깃헙(origin)에서 다운받은 상태이기 때문에 현재 원래 레포지토리(upstream)의 정보를 알 수가 없습니다.

 

고로 현재 폴더 위치로 이동해서 원래 레포지토리 정보를 추가해줍니다.

 

 

 

$ git remote add upstream git://github.com/<원래 주인 이름>/<레포지토리 주소>

5. 내가 작업할 공간 만들기

 

이제 복제한 레포지토리에 제가 기여할 공간을 만들어 줘야겠죠?

 

자신만의 공간을 만들기 위해선 자신의 branch를 생성해 줘야합니다.

 

아래와 같이 git checkout -b 원하는 브랜치 이름을 정해주고 생성해줍니다.

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

git checkout -b <원하는 브랜치 이름>

6. 내 브랜치에 푸쉬하기

 

이제 자신이 기여할 부분을 작업하고 위에서 만든 자신의 브랜치에 커밋 후 푸쉬해줍니다.

 

$ git add --all
$ git commit -m "커밋할 내용"
$ git push origin <자신의 브랜치 이름>

 

 


7. 레포지토리 주인에게 검수 요청하기

 

위에서 작업한 것들을 원래 레포지토리에 합치기 위해선 원래 주인의 허락이 필요합니다.

 

(만약 이상한 것들을 작업해놓고 합쳐달라 요청하면 해당 레포지토리가 망가지게 되겠죠?)

 

이제 자신의 깃헙에 있는 해당 레포지토리로 이동하면 아래와 같이 Compare & pull request 버튼이 있을거에요.

 

이건 "새롭게 업데이트된 작업이 있느니깐 검사맡아봐" 라고 하는 것과 같습니다.

 

 

 

 

자신이 작업한 사항들을 md 문법에 맞춰서 적어줍니다.

 

원래의 주인의 허락을 맡으려면 최대한 세세하게 적는게 좋겠죠?

 

 

 

 

만약 주인이 허락을 했으르 경우 자신이 작업한 것들이 원래의 레포지토리에 합쳐지게 됩니다.

 

 

 

 

 

 

 

원래 레포지토리의 Contributors에 추가되는 것도 볼 수 있습니다.

 

 

 


8. 자신의 레포지토리 업데이트 하기

 

위에서 원래 레포지토리에 자신의 작업한 것들이 합쳐졌죠?

 

이제 그 합쳐진 레포지토리로 자신의 깃헙에 복제한 레포지토리를 업데이트 해줘야 합니다.

 

복제한 레포지토리로 이동하면 우측 상단에 Fetch upstream이라고 있을거에요.

 

거기서 Fetch and merge를 눌러서 업데이트 해줍니다.

 

 

 

 

이렇게 업데이트를 해주면 자신의 레포지토리에도 자신이 기여한 것들이 합쳐진 모습을 볼 수 있습니다.

 

 

 


P.S

 

예전부터 언젠가는 오픈소스에 기여해 봐야겠다 다짐은 했었는데 뭔가 오픈소스에 기여한다는게 엄청난 실력을 가져야만 할 수 있다고 생각했었다. 그런데 md 파일을 수정하거나 간단한 오류같은 것만 수정하는 것도 기여하는 활동이었다. 내가 작업한 것이 다른 사람 레포지토리에 합쳐진 것을 보니 뭔가 신기하고 뿌듯했다..ㅎ 이제 자신감도 얻었으니 정말 알려진 오픈소스에 코드로 기여해보는 것을 목표로 삼아야겠다.

[출처] https://fomaios.tistory.com/entry/%F0%9F%A4%BC-Git-%EA%B9%83%ED%97%99-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%EA%B8%B0%EC%97%AC%ED%95%B4%EB%B3%B4%EA%B8%B0

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1158 [ 一日30分 인생승리의 학습법][Web3] 세상을 바꿀 Web 3.0 - Web3.js 예제로 실습하기(2) file 졸리운_곰 2023.10.05 97
1157 [ 一日30分 인생승리의 학습법][Web3] 세상을 바꿀 Web 3.0 - Web3.js 예제로 실습하기(1) file 졸리운_곰 2023.10.05 90
1156 [ 一日30分 인생승리의 학습법][Web3] 세상을 바꿀 Web 3.0 - Web3.js란? file 졸리운_곰 2023.10.05 112
1155 [ 一日30分 인생승리의 학습법][Web3] 세상을 바꿀 Web 3.0 - Web3가 미래라고? file 졸리운_곰 2023.10.05 92
1154 [ 一日30分 인생승리의 학습법] 웹 3(Web3) 란 무엇일까? : 분산 인터넷의 미래 file 졸리운_곰 2023.10.01 120
1153 [ 一日30分 인생승리의 학습법] 블록체인 기술을 활용한 분산형 웹 ‘IPFS’가 뜬다! file 졸리운_곰 2023.10.01 89
1152 [ 一日30分 인생승리의 학습법] Web3란 무엇인가요? file 졸리운_곰 2023.09.28 99
1151 [ 一日30分 인생승리의 학습법] 마이크로 프론트엔드 아키텍처 file 졸리운_곰 2023.09.06 91
1150 [ 一日30分 인생승리의 학습법] [Micro Frontend] 마이크로 프론트앤드 - 개념 file 졸리운_곰 2023.09.06 102
1149 [ 一日30分 인생승리의 학습법] 마이크로프론트엔드 아키텍쳐 file 졸리운_곰 2023.09.06 114
1148 [ 一日30分 인생승리의 학습법] MinIO의 WebUI 사용법 정리 file 졸리운_곰 2023.09.05 124
1147 [ 一日30分 인생승리의 학습법] Qiskit Hackathon Korea Project 논문 정리 졸리운_곰 2023.08.18 105
1146 [ 一日30分 인생승리의 학습법] [Windows] FreeProxy를 이용한 HTTP Proxy 구성 file 졸리운_곰 2023.08.15 94
1145 [ 一日30分 인생승리의 학습법] SPSS는 버리자! 강력한 무료 통계툴 JASP & Jamovi (통계툴 리뷰) 졸리운_곰 2023.08.06 107
» [ 一日30分 인생승리의 학습법] [Git] Github 오픈소스 기여해보기 file 졸리운_곰 2023.08.02 79
1143 [ 一日30分 인생승리의 학습법] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting 졸리운_곰 2023.07.27 105
1142 [ 一日30分 인생승리의 학습법] Apache 웹서버 동작 방식과 처리 Thread 부족에 따른 증상 확인 file 졸리운_곰 2023.07.27 91
1141 [ 一日30分 인생승리의 학습법] OpenAI Davinci 모델 Fine-tuning 하기 - (1) file 졸리운_곰 2023.07.09 121
1140 [ 一日30分 인생승리의 학습법] [ git 기본 ] 브랜치 전환하기 file 졸리운_곰 2023.07.06 104
1139 [ 一日30分 인생승리의 학습법] [ git 기본 ] git pull 시 특정 branch 를 pull 해오기 졸리운_곰 2023.07.06 111
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED