빠른 참조¶
개발 환경을 설정하고 풀 리퀘스트를 여는 데 필요한 기본 단계는 다음과 같습니다.
이 문서는 포괄적인 가이드가 아니라 체크리스트이자 치트 시트입니다. 전체 지침은 설정 가이드와 풀 리퀘스트 가이드를 참조하십시오.
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
테스트를 작성하고 실행하는 방법도 참조하십시오.
이슈와 풀 리퀘스트 만들기¶
사소하지 않은 변경 사항에 대해 이슈 만들기¶
대부분의 변경 사항에 대해서는 풀 리퀘스트를 제출하기 전에 이슈를 만드십시오. 오타 수정과 같은 사소한 변경 사항에는 이슈가 필요하지 않습니다.
작업 브랜치 만들기¶
main 브랜치에서 Git의 새 브랜치를 만들어 기능 개발이나 수정 작업을 하십시오:
git checkout -b fix-issue-12345 main
변경한 다음 커밋하고 포크에 푸시하십시오.
변경 사항 문서화하기¶
많은 변경 사항에는 무엇이 바뀌었는지 문서로 남기는 NEWS 항목이 필요합니다. NEWS 항목을 언제, 어떻게 작성하는지에 대한 자세한 내용은 “Updating NEWS and What’s New in 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은 병합될 때 단일 커밋이 됩니다.