GitHub 풀 요청을 수행하는 방법
GitHub에서 호스팅되는 다른 리포지토리에 풀 요청을 생성 및 / 또는 보내려면 어떻게해야합니까?
(공식 " GitHub 도움말 '당김 요청 사용'페이지 "
외에도 " GitHub의 분기 대 분기 ", " GitHub의 원점과 상류의 차이점 "도 참조하십시오.
풀 요청에 대한 몇 가지 팁 :
처음 에 repo를 분기 했다고 가정하면 다음은 소유 한 해당 포크에서 수행해야 할 작업입니다.
- 분기 만들기 : 분기 에서 수정 사항을 격리합니다. 에서 여러 요청 을 한 번
master
에 모으고 혼합하려는 유혹을받을 수 있는 풀 요청을 만들지 마십시오 . - 해당 브랜치 리베이스 : 이미 브랜치에서 풀 요청을 한 경우에도
origin/master
(패치가 여전히 작동하는지 확인) 맨 위에 리베이스 하면 풀 요청이 자동으로 업데이트됩니다 (아무것도 클릭 할 필요가 없습니다) - 해당 분기 업데이트 : 풀 요청이 거부되면 새 커밋을 추가하거나 히스토리를 완전히 다시 실행할 수 있습니다. 기존 풀 요청을 다시 활성화합니다.
- 해당 분기를 "초점" : 즉, 주제를 "단단하게"하고, 수천 개의 클래스와 모든 앱을 수정하지 말고, 잘 정의 된 기능 만 추가하거나 수정 하여 변경 사항을 작게 유지하십시오 .
- 해당 분기 삭제 : 일단 승인되면 포크 (및
git remote prune origin
) 에서 해당 분기를 안전하게 삭제할 수 있습니다 . GitHub GUI는 pull-request 페이지에서 브랜치를 삭제할 것을 제안합니다.
참고 : 수있는 쓰기 "를 참조 풀-요청 자체를 어떻게 완벽한 풀 요청을 작성하는 "(헤세이 2015, GitHub의)
2016 년 3 월 : 새로운 PR 병합 버튼 옵션 : " 검토 의견 후 풀 요청시 웹 인터페이스에서 Github 스쿼시 커밋? "을 참조하십시오.
리포지토리 관리자는 merge --squash
해당 PR 커밋을 선택할 수 있습니다 .
풀 요청 후
마지막 지점 인 2013 년 4 월 10 일부터 " 재 설계된 병합 버튼 "에서 지점이 삭제됩니다.
병합 후 분기 삭제도 단순화되었습니다.
추가 단계를 통해 삭제를 확인하는 대신 분기를 삭제할 때 즉시 분기를 제거하고 다시 필요할 때 분기를 복원 할 수있는 편리한 링크를 제공합니다 .
풀 요청을 병합 한 후 분기를 삭제하는 최상의 방법을 확인합니다.
풀 요청과 요청 풀
풀 요청은 공식 "git"용어가 아닙니다.
Git은request-pull
(!) 명령 을 사용하여 병합 요청을 작성합니다.
"표준 출력에 대한 두 커밋 간의 변경 사항을 요약하고 생성 된 요약에 지정된 URL을 포함합니다."
Github은 첫날 (2008 년 2 월)부터 자체 버전을 시작 했지만 2010 년 5 월에 해당 기능을 다시 디자인하여 다음 과 같이 설명했습니다.Pull Request = Compare View + Issues + Commit comments
"인간"에 대한 전자 노트 (sic)
<humour>
그 (풀 요청)는 GitHub에 의해 올바르게 정의되지 않았습니다!
다행스럽게도 진정한 비즈니스 뉴스 조직은 알고 있으며 풀 교체를 'e-note'로 대체하기위한 e-note가 있습니다 .
당신의 repos 경우에 따라서 오 토리는 전자 노트를 필요로 ... 폭스 비즈니스 물어 . 그들은 알고 있습니다.
</humour>
풀 요청을하는 방법을 배우기 위해 Github에서 두 개의 별도 도움말 페이지를 따랐습니다 (아래에 글 머리 기호로 연결됨). 다음 명령 행 명령은 파트 1에 대한 것 입니다. 실제 끌어 오기 요청 인 Part 2 는 전적으로 Github 웹 사이트에서 수행됩니다.
$ git clone https://github.com/tim-peterson/dwolla-php.git
$ cd dwolla-php
$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
$ git fetch upstream
// make your changes to this newly cloned, local repo
$ git add .
$ git commit -m '1st commit to dwolla'
$ git push origin master
1 부 : 누군가의 저장소를 포크 : https://help.github.com/articles/fork-a-repo
- 기여하려는 리포지토리 에서 '포크'버튼을 클릭하십시오.이 경우 Dwolla의 PHP 리포지토리 (Dwolla / dwolla-php)
- 이 경우, 새로 만든 포크의 URL을 얻을 : https://github.com/tim-peterson/dwolla-php.git (팀-피터슨 /에 Dwolla-PHP)
git clone->cd dwolla-php->git remote->git fetch
위 시퀀스를 입력 하여 컴퓨터 어딘가에 포크를 복제하고 (이 경우 "복사 / 붙여 넣기"third_party TimPeterson$
) 마스터 리포지토리 (Dwolla / dwolla-php)와 동기화하십시오.- 지역 리포지토리를 변경하십시오.
git add->git commit->git push
위 의 순서를 입력 하여 변경 사항을 원격 저장소, 즉 Github의 포크 (tim-peterson / dwolla-php)로 푸시하십시오.
2 부 : 풀 요청 만들기 : https://help.github.com/articles/using-pull-requests
- Github에서 포크 웹 페이지 로 이동 하십시오 ( https://github.com/tim-peterson/dwolla-php )
- '풀 요청'버튼을 클릭하십시오
- 풀-요청에 이름을 지정하고 변경 사항에 대한 세부 사항을 작성한 후 제출 단추를 클릭하십시오.
- 끝났어요 !!
풀 요청을하려면 다음 단계를 수행해야합니다.
- 끌어 오기 요청을하려는 저장소를 포크하십시오. 저장소 페이지에서 포크 버튼을 클릭하면 github 사용자 이름 앞에 별도의 github 저장소가 있습니다.
- 저장소를 로컬 머신에 복제하십시오. 로컬 머신에 설치 한 Github 소프트웨어가이를 수행 할 수 있습니다. 저장소 이름 옆에있는 복제 버튼을 클릭하십시오.
- 파일을 로컬로 변경 / 커밋
- 변경 사항을 동기화
- github 포크 저장소로 이동하여 분기 버튼 옆의 "비교 및 검토"녹색 버튼을 클릭하십시오. (버튼에는 아이콘이 있습니다-텍스트가 없습니다)
- 변경 사항을 보여주는 새 페이지가 열리고 끌어 오기 요청 링크를 클릭하면 분기 한 저장소의 원래 소유자에게 요청이 전송됩니다.
이것을 이해하는 데 시간이 걸렸습니다. 이것이 누군가를 도울 수 있기를 바랍니다.
사람들이 처음 GitHub 풀 요청을 할 수 있도록 프로젝트를 시작했습니다. 실습 자습서를 통해 첫 번째 PR 을 만들 수 있습니다.
워크 플로우는 다음과 같이 간단합니다.
- github에서 repo를 포크하십시오.
- 복제 저장소 버튼을 클릭하여 복제 URL 가져 오기
- 터미널로 이동하여 실행
git clone <clone url you copied earlier>
- 변경 사항을 적용 할 지점을 만듭니다.
git checkout -b branch-name
- 필요한 변경
- 변경 사항을 커밋
git commit
- GitHub에서 변경 사항을 포크로 푸시하십시오.
git push origin branch-name
Compare and pull request
버튼 을 보려면 GitHub의 포크로 이동하십시오- 그것을 클릭하고 필요한 세부 사항을 제공하십시오
github.com 계정을 가지고 있지만 명령 행에 "git"을 입력 할 때만 잘못된 오류 메시지가 표시되는 사용자의 경우 브라우저에서 모든 작업을 수행하는 방법은 다음과 같습니다.
- Tim과 Farhan이 쓴 것과 동일합니다 : 자신의 프로젝트 사본을 포크하십시오 :
- 몇 초 후에 자신의 분기 된 프로젝트 복사본으로 리디렉션됩니다.
- 변경해야 할 파일로 이동하여 툴바에서 "이 파일 편집"을 클릭하십시오.
- 편집 후 마스터 브랜치뿐만 아니라 변경 사항을 설명하는 단어 몇 개를 작성한 다음 "변경 사항 커밋"을 작성하십시오 ( "주"프로젝트가 아닌 사용자의 사본이므로).
- 편집해야하는 모든 파일에 대해 3 단계와 4 단계를 반복 한 다음 프로젝트 사본 의 루트로 돌아가 십시오 . 녹색 "Compare, review ..."버튼을 클릭하십시오 :
- Finally, click "Create pull request" ..and then "Create pull request" again after you've double-checked your request's heading and description:
I followed tim peterson's instructions but I created a local branch for my changes. However, after pushing I was not seeing the new branch in GitHub. The solution was to add -u to the push command:
git push -u origin <branch>
I wrote a bash program that does all the work of setting up a PR branch for you. It performs forking if needed, syncing with the upstream, setting up upstream remote, etc. and you just need to commit your modifications, push and submit a PR.
Here is how you run it:
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
여기 에 프로그램 이 있으며 해당 저장소에는 작동 방식을 이해하려는 경우 동일한 프로세스를 수동으로 수행하는 단계별 가이드와 기능 분기를 최신 상태로 유지하는 방법에 대한 추가 정보도 포함되어 있습니다. 업스트림 마스터 및 기타 유용한 정보를 제공합니다.
참고 URL : https://stackoverflow.com/questions/14680711/how-to-do-a-github-pull-request
'Programing' 카테고리의 다른 글
git 저장소에 삭제 된 파일을 모두 나열하려면 어떻게합니까? (0) | 2020.03.24 |
---|---|
Java에서 InterruptedException 처리 (0) | 2020.03.24 |
Git을 설치하지 않고`git diff` 패치를 적용하는 방법은 무엇입니까? (0) | 2020.03.24 |
데이터 프레임에서 이름별로 열을 삭제하는 방법 (0) | 2020.03.24 |
파이썬에서 왜 튜플 이해가 없는가? (0) | 2020.03.24 |