패치 만들기 #

버그 또는 Matplotlib 에서 변경하고 싶은 다른 것을 발견했습니다 . .. — 훌륭합니다!

문제를 해결할 수 있는 방법을 찾았습니다. 더 좋습니다!

당신은 그것에 대해 우리에게 말하고 싶습니다 – 무엇보다도!

가장 쉬운 방법은 패치 또는 패치 세트를 만드는 것입니다. 여기에서 그 방법을 설명합니다. 패치를 만드는 것이 가장 간단하고 빠르지만 단순하고 빠른 작업 이상을 수행하려는 경우 대신 Git for development 모델을 따르는 것을 고려하십시오.

패치 만들기 #

개요 #

# tell git who you are
git config --global user.email [email protected]
git config --global user.name "Your Name Comes Here"
# get the repository if you don't have it
git clone https://github.com/matplotlib/matplotlib.git
# make a branch for your patching
cd matplotlib
git branch the-fix-im-thinking-of
git checkout the-fix-im-thinking-of
# hack, hack, hack
# Tell git about any new files you've made
git add somewhere/tests/test_my_bug.py
# commit work in progress as you go
git commit -am 'BF - added tests for Funny bug'
# hack hack, hack
git commit -am 'BF - added fix for Funny bug'
# make the patch files
git format-patch -M -C main

그런 다음 생성된 패치 파일을 Matplotlib 메일링 리스트 로 보내주시면 감사하겠습니다.

자세히 #

  1. 당신이 만든 커밋에 라벨을 붙일 수 있도록 git에게 당신이 누구인지 알려주세요:

    git config --global user.email [email protected]
    git config --global user.name "Your Name Comes Here"
    
  2. 아직 없는 경우 Matplotlib 리포지토리의 복사본을 복제합니다.

    git clone https://github.com/matplotlib/matplotlib.git
    cd matplotlib
    
  3. '기능 분기'를 만듭니다. 버그 수정 작업을 하는 곳입니다. 훌륭하고 안전하며 기본 분기에서 수정되지 않은 코드 사본에 액세스할 수 있습니다.

    git branch the-fix-im-thinking-of
    git checkout the-fix-im-thinking-of
    
  4. 몇 가지 편집을 수행하고 진행하면서 커밋합니다.

    # hack, hack, hack
    # Tell git about any new files you've made
    git add somewhere/tests/test_my_bug.py
    # commit work in progress as you go
    git commit -am 'BF - added tests for Funny bug'
    # hack hack, hack
    git commit -am 'BF - added fix for Funny bug'
    

    -am에 대한 옵션에 유의하십시오 commit. 플래그 는 m명령줄에 메시지를 입력할 것이라는 신호일 뿐입니다. a깃발 - 당신은 믿음을 가질 수 있습니다 - 또는 왜 -a 깃발을 보십니까? .

  5. 완료되면 모든 변경 사항을 커밋했는지 확인합니다.

    git status
    
  6. 마지막으로 커밋을 패치로 만드십시오. 분기에서 분기한 이후의 모든 커밋을 원합니다 main.

    git format-patch -M -C main
    

    이제 커밋 이름이 지정된 여러 파일이 있습니다.

    0001-BF-added-tests-for-Funny-bug.patch
    0002-BF-added-fix-for-Funny-bug.patch
    

    이 파일을 Matplotlib 메일링 리스트 로 보냅니다 .

완료되면 코드의 기본 복사본으로 다시 전환하려면 main분기로 돌아갑니다.

git checkout main

패치에서 개발로 이동 #

일부 패치를 수행했고 하나 이상의 기능 분기가 있는 경우 개발 모드로 전환하고 싶을 것입니다. 보유하고 있는 저장소로 이 작업을 수행할 수 있습니다.

github에서 Matplotlib 저장소 포크 — Matplotlib 사본(포크) 만들기 . 그 다음에:

# checkout and refresh main branch from main repo
git checkout main
git pull origin main
# rename pointer to main repository to 'upstream'
git remote rename origin upstream
# point your repo to default read / write to your fork on github
git remote add origin [email protected]:your-user-name/matplotlib.git
# push up any branches you've made and want to keep
git push origin the-fix-im-thinking-of

그런 다음 원하는 경우 개발 워크플로 를 따를 수 있습니다 .