Skip to content

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 저장소 포크하기

  1. GitHub에서 그누보드6 저장소: https://github.com/gnuboard/g6로 이동합니다.
  2. 오른쪽 상단의 Fork 버튼을 클릭합니다.
  3. 포크할 저장소의 이름을 입력하고 Fork 버튼을 다시 클릭합니다.

포크가 완료되면 자신의 GitHub 계정에 포크된 저장소가 생성됩니다.

2. 포크한 저장소 클론하기

  1. 터미널을 열고 포크한 저장소의 URL을 복사합니다.
  2. 다음 명령을 실행하여 저장소를 클론합니다.
git clone https://github.com/[사용자 이름]/g6

위의 명령을 실행하면 다음과 같은 출력이 나타납니다.

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으로 추가하면 원본 저장소의 변경 사항을 추적할 수 있습니다.
원본 저장소의 변경 사항을 포크한 저장소에 반영할 수 있습니다.

git remote add upstream https://github.com/gnuboard/g6

4. 브랜치 생성하기

코드를 수정할 브랜치를 생성합니다.

git checkout -b <브랜치 이름>

브랜치 이름

그누보드6 브랜치 이름은 다음과 같은 형식을 따르고 있으며, 작업 종류는 아래와 같습니다.

<작업 종류>/<작업내용에 대한 제목>

  • fix 버그 수정
  • feat: 기능 추가
  • docs: 문서 작성
  • refact: 코드 리팩토링
  • test: 테스트 코드 작성
  • chore: 기타 라이브러리 변경사항

예) fix/board_list : 게시판 목록 오류 수정

5. 코드 작성하기

버그를 수정하거나 기능을 추가할 코드를 작성합니다. 코드를 작성한 후에는 다음 명령을 사용하여 커밋합니다.

git add .
git commit -m "[<작업종류>] 커밋 메시지 "

6. 커밋 & 푸시하기

커밋한 코드를 fork한 원격 저장소에 푸시합니다.

git push origin <브랜치 이름>

7. PR 보내기

  • GitHub 웹사이트로 돌아가서 자신의 포크한 저장소 페이지로 이동합니다.
  • "Pull Request" 탭을 클릭하고 "New Pull Request" 버튼을 클릭합니다.
  • 비교할 대상을 선택하고 작업한 브랜치를 선택한 후 양식에 맞게 내용을 작성한 후 PR을 생성합니다.

8. PR 검토 & 반영

  • 그누보드6 개발자는 PR을 검토하고, 변경사항이 적절하다면 원본 저장소에 반영합니다.
  • 이 과정에서 PR에 대한 토론과 수정이 반복될 수 있습니다. 필요한 변경사항을 작업한 후 다시 커밋하여 PR을 업데이트할 수 있습니다.

이렇게 함으로써 기여자는 자신의 작업을 원본 프로젝트에 반영하고자 할 때, 소스 코드 변경사항을 추적하고 리뷰를 받아 프로젝트에 기여할 수 있습니다.