Pull Request¶
Pull Request는(이하 PR) 다른 사람의 저장소에서 변경 사항을 가져와 본인의 저장소에 합치는 것을 말합니다. PR를 통해 그누보드6 발전에 기여할 수 있습니다.
Info
모든 요청이 항상 승인되는 것은 아닙니다.
그누보드6의 개발자들은 PR을 검토하고, 코드를 수정하거나 PR을 거절할 수 있습니다.
Pull Request를 보내기 전에 다음 사항들을 확인해주세요.¶
- 동일한 업데이트/변경에 대한 다른 PR이 열려있는지 확인해주시기 바랍니다.
- 테스트가 성공적으로 수행되었는지 확인해주시기 바랍니다.
-
PR 내용에 대한 commit만 포함되어 있는지 확인해주시기 바랍니다.
Tip
PR이 완료되지 않은 브랜치에 push할 경우, 기존 PR에 새로운 commit이 포함되므로 반영이 어려워집니다.
Pull Request 보내기¶
1. 그누보드6 저장소 포크하기¶
- GitHub에서 그누보드6 저장소: https://github.com/gnuboard/g6로 이동합니다.
- 오른쪽 상단의 Fork 버튼을 클릭합니다.
- 포크할 저장소의 이름을 입력하고 Fork 버튼을 다시 클릭합니다.
포크가 완료되면 자신의 GitHub 계정에 포크된 저장소가 생성됩니다.
2. 포크한 저장소 클론하기¶
- 터미널을 열고 포크한 저장소의 URL을 복사합니다.
- 다음 명령을 실행하여 저장소를 클론합니다.
위의 명령을 실행하면 다음과 같은 출력이 나타납니다.
Cloning into 'g6'...
remote: Enumerating objects: 1599, done.
remote: Counting objects: 100% (1599/1599), done.
remote: Compressing objects: 100% (1353/1353), done.
remote: Total 1599 (delta 681), reused 1599 (delta 681), pack-reused 0
Receiving objects: 100% (1599/1599), 14.25 MiB | 3.50 MiB/s, done.
Resolving deltas: 100% (681/681), done.
3. 그누보드6 저장소 upstream 추가하기¶
그누보드6 저장소를 upstream으로 추가하면 원본 저장소의 변경 사항을 추적할 수 있습니다.
원본 저장소의 변경 사항을 포크한 저장소에 반영할 수 있습니다.
4. 브랜치 생성하기¶
코드를 수정할 브랜치를 생성합니다.
브랜치 이름
그누보드6 브랜치 이름은 다음과 같은 형식을 따르고 있으며, 작업 종류는 아래와 같습니다.
fix
버그 수정feat
: 기능 추가docs
: 문서 작성refact
: 코드 리팩토링test
: 테스트 코드 작성chore
: 기타 라이브러리 변경사항
예) fix/board_list
: 게시판 목록 오류 수정
5. 코드 작성하기¶
버그를 수정하거나 기능을 추가할 코드를 작성합니다. 코드를 작성한 후에는 다음 명령을 사용하여 커밋합니다.
6. 커밋 & 푸시하기¶
커밋한 코드를 fork한 원격 저장소에 푸시합니다.
7. PR 보내기¶
- GitHub 웹사이트로 돌아가서 자신의 포크한 저장소 페이지로 이동합니다.
- "Pull Request" 탭을 클릭하고 "New Pull Request" 버튼을 클릭합니다.
- 비교할 대상을 선택하고 작업한 브랜치를 선택한 후 양식에 맞게 내용을 작성한 후 PR을 생성합니다.
8. PR 검토 & 반영¶
- 그누보드6 개발자는 PR을 검토하고, 변경사항이 적절하다면 원본 저장소에 반영합니다.
- 이 과정에서 PR에 대한 토론과 수정이 반복될 수 있습니다. 필요한 변경사항을 작업한 후 다시 커밋하여 PR을 업데이트할 수 있습니다.
이렇게 함으로써 기여자는 자신의 작업을 원본 프로젝트에 반영하고자 할 때, 소스 코드 변경사항을 추적하고 리뷰를 받아 프로젝트에 기여할 수 있습니다.