Skip to content

Latest commit

 

History

History
94 lines (51 loc) · 6.11 KB

HOW_TO_CONTRIBUTE.md

File metadata and controls

94 lines (51 loc) · 6.11 KB

프로젝트에 기여하는 방법

주제 선정부터 풀 리퀘스트(Pull Request)를 보내는 방법에 대해 설명합니다.

주제의 선정

프로젝트에 어떻게 기여할 것인가?를 참고하여 기여하고자 하는 주제를 선정합니다.

ISSUE 선정 또는 신규 이슈의 등록

이미 등록된 이슈가 있다면 레이블을 잘 살펴보세요. 'Help Wanted' 와 같은 종류의 이슈들은 바로 여러분의 도움을 기다리고 있는 이슈일 수 있습니다. 혹은 기여하고 싶은 내용이 이슈 목록에는 없지만 내가 발견한 버그, 사이트 툴링 등에 해당한다면 이슈를 새로 등록합니다. 이때 레이블을 달아두면 어떤 내용인지 목록에서 한눈에 알아볼 수 있겠죠?

이슈의 내용에는 이 이슈에 대한 간략한 설명이나 배경, 이슈 해결을 위해 참고할 만한 링크를 달아 놓으면 좋습니다.

Issue의 할당

자 이제 등록한 이슈중 내가 해결하고자 하는 이슈를 나에게 할당합니다. 이렇게 함으로써 해당 리포지토리에 어떤 작업들이 진행되고 있는지 쉽게 파악할 수 있습니다. 다른 참여자분들의 주제도 바로 확인할 수 있을 테니까요 :)

스크린샷 2021-08-11 오후 10 45 52

TIP: 회사 실무에서도 해결하고자 하는 사항에 대한 요약의 문서를 이곳에 정리하고 담당자를 할당합니다.

코드의 작성

자 이제 등록한 이슈에 대한 실제 코드를 작성합니다. 코드라고 표현했지만 Cracking Vue.js에서는 마크다운 형식의 문서일 가능성이 높습니다.

보통 오픈소스 리포지토리는 자유롭게 클론할 수 있지만 브랜치에 직접 푸시할 수 있는 권한은 제한되어 있는 경우가 많습니다. 이럴 경우 어떻게 브랜치를 생성하고 푸시를 해야 할까요?

1. 리포지토리 포크(fork)하기

기여하고 싶은 리포지토리를 포크하여 내 깃헙 계정으로 가져올 수 있습니다.

스크린샷 2021-08-11 오후 10 57 58

위 이미지의 우측 상단의 Fork 버튼을 누르면 joshua1988/vue-camp를 내 리포지토리로 복사 할 수 있습니다.

스크린샷 2021-08-11 오후 10 59 46

포크가 완료되면 내 계정 하위에 새로운 리포지토리가 생긴 것을 볼 수 있습니다.

스크린샷 2021-08-11 오후 11 01 10

이제 내 계정에 속한 리포지토리이기 때문에 자유롭게 브랜치를 생성하거나 푸시할 수 있습니다. git clone 명령어로 리포지토리를 로컬에 내려 받고 코드를 수정/추가 합니다.

2. Fork 된 후에 원본 Repository 최신화

스크린샷 2021-08-11 오후 11 09 14

git remote -v show

클론한 프로젝트 폴더 위치에서 위 명령어를 실행하면 현재 폴더가 포크된 리포지토리이므로 origin 이외에 'upstream'이라는 또 하나의 remote path가 보입니다.

포크를 하고 나서도 원본 리포지토리에는 많은 변경사항들이 발생할 텐데요. 업데이트를 위해서는 아래 명령어를 실행해 주면 됩니다.

git fetch upstream

Branch 생성 및 소스 수정

자 이제 코드를 작성할 모든 준비는 끝났습니다. 다른 작업과 마찬가지로 PR & Commit 작성 가이드를 참고하여 새로운 브랜치를 만들어 내용을 수정하고 커밋합니다.

하나의 커밋은 가능하면 커밋 메시지가 의미하는 하나의 내용을 담는 것이 좋습니다. (커밋의 원자성)

이는 풀 리퀘스트를 리뷰할 때나 이후 히스토리를 파악할 때 큰 도움이 됩니다.

Create Pull Request

내용을 수정하고 커밋까지 마쳤으면 이제 코드를 remote에 푸시합니다. 이때 푸시의 대상은 포크 받은 내 계정의 리포지토리인 'origin' 입니다.

git push origin {브랜치명}
git push origin docs/how-to-pull-request

remote에 푸시한 후 깃헙으로 돌아가서 포크된 리포지토리의 New Pull Request를 누르면

스크린샷 2021-08-11 오후 11 26 59

아래와 같이 나의 Repo: branch --> vue-camp:master로 경로가 설정됩니다.

스크린샷 2021-08-11 오후 11 39 09

또한 PR을 작성하였으나 아직 리뷰 준비가 덜 되었다면 Draft Pull request로 임시로 올려두고 수정을 더 할 수 있습니다.

이후 리뷰 준비가 완료되면 Ready for review 버튼을 눌러 상태를 변경할 수 있습니다.

Review & Merge & Done!

다른 오픈소스 기여자가 PR에 대한 리뷰와 수정이 필요한 부분에 대해 피드백을 줄 수도 있습니다. 피드백을 받아 수정하고 다시 커밋을 올리면 확인 후 PR이 머지될 것입니다. PR이 머지되고 나면 처음에 생성한 이슈를 닫아주시면 됩니다.

자 이제 오픈소스 컨트리뷰터가 되셨습니다! 축하합니다 😄 🎉 🎉 🎉