빠른 참조

설정을 완료하고 풀 리퀘스트를 여는 데 필요한 기본 단계는 다음과 같습니다.

이 문서는 포괄적인 가이드가 아니라 체크리스트이자 요약 참고 자료입니다. 전체 지침은 설정 가이드풀 리퀘스트 가이드를 참조하십시오.

Git 설정

Git을 설치하고 설정하십시오.

자세한 설정 정보는 “Git 설치”를 참조하십시오. 더 자세한 Git 가이드 및 요약 참고 자료도 있습니다.

저장소 포크 및 복제

CPython 저장소를 GitHub 계정으로 포크하고 다음을 사용하여 저장소를 복제하십시오.:

git clone https://github.com/<your_username>/cpython
cd cpython

자세한 내용은 “소스 코드 가져오기”를 참조하십시오.

Python을 빌드하십시오

./configure --config-cache --with-pydebug && make -j $(nproc)
./configure --config-cache --with-pydebug && make -j$(sysctl -n hw.logicalcpu)
PCbuild\build.bat -e -d

또한 더 자세한 지침, 의존성을 설치하고 빌드하는 방법, 그리고 Unix, macOS, Windows 플랫폼별 페이지를 참조하십시오.

테스트를 실행하십시오

./python -m test -j0
./python.exe -m test -j0

참고

대부분의 macOS 시스템은 Python 디렉터리와의 파일 이름 충돌을 피하기 위해 ./python.exe을 사용합니다.

.\python.bat -m test -j0

또한 테스트를 작성하고 실행하는 방법을 참조하십시오.

이슈 및 풀 리퀘스트 생성

사소하지 않은 변경에 대한 이슈 생성

대부분의 변경에서는 풀 리퀘스트를 제출하기 전에 이슈를 생성하십시오. 오타 수정과 같은 사소한 변경에는 이슈가 필요하지 않습니다.

작업 브랜치 생성

Git의 main 브랜치에서 새 브랜치를 만들어 기능이나 수정 사항을 작업하십시오.:

git checkout -b fix-issue-12345 main

변경한 다음 커밋하고 포크로 푸시하십시오.

변경 사항 문서화

많은 변경에는 변경된 내용을 기록하는 NEWS 항목이 필요합니다. NEWS 항목을 작성하는 방법과 시기에 관한 자세한 내용은 “NEWS 및 Python의 새로운 기능 업데이트”를 참조하십시오.

NEWS 항목은 blurb 도구와 해당 도구의 blurb add 명령을 사용하여 로컬에서 생성하거나, 풀 리퀘스트를 연 후 blurb-it을 사용하여 온라인에서 생성할 수 있습니다.

NEWS 항목을 생성하는 방법에 관한 자세한 내용은 “NEWS 항목을 추가하는 방법”을 참조하십시오.

풀 리퀘스트 생성

포크의 브랜치에서 GitHub 풀 리퀘스트를 생성하고, 풀 리퀘스트 제목에 관련 이슈 번호를 gh-NNNNNN 형식으로 반드시 포함하십시오. 예:

gh-12345: Fix some bug in spam module

GitHub의 풀 리퀘스트 만들기 문서도 참조하십시오.

더 자세한 지침은 단계별 풀 리퀘스트 가이드를 따르십시오.

참고

처음 기여하는 사람은 이 가이드의 라이선스 섹션에 설명된 대로 기여자 라이선스 계약(Contributor Licensing Agreement, CLA)에 서명해야 합니다.

풀 리퀘스트 작업을 진행하십시오

관련 풀 리퀘스트의 지속적 통합 검사가 녹색인지 (성공했는지) 확인하십시오.

풀 리퀘스트에 달린 리뷰어의 의견을 읽고 답변하십시오.

GitHub의 풀 리퀘스트에 댓글 달기 문서도 참조하십시오.

강제 푸시하지 마십시오

커밋 기록을 온전히 유지하려면 기록을 스쿼시하거나 수정한 후 PR에 강제 푸시하지 마십시오. 리뷰어는 개별 커밋을 살펴보려는 경우가 많습니다.

CPython은 스쿼시 병합을 사용하므로 PR은 병합될 때 단일 커밋이 됩니다.