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 …”버튼을 클릭하십시오 :
- 마지막으로, 요청의 제목과 설명을 다시 확인한 후 “풀 요청 생성”을 클릭 한 다음 “풀 요청 생성”을 다시 클릭하십시오 .
답변
팀 피터슨의 지시를 따랐지만 변경 사항에 대한 지역 지점을 만들었습니다. 그러나 추진 후 GitHub에서 새로운 지점을 보지 못했습니다. 해결책은 push 명령에 -u를 추가하는 것입니다.
git push -u origin <branch>
답변
PR 브랜치를 설정하는 모든 작업을 수행하는 bash 프로그램을 작성했습니다. 필요한 경우 분기, 업스트림과 동기화, 업스트림 원격 설정 등을 수행하며 수정 사항을 커밋하고 PR을 푸시 및 제출하면됩니다.
실행 방법은 다음과 같습니다.
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
여기 에 프로그램 이 있으며 해당 저장소에는 작동 방식을 이해하려는 경우 동일한 프로세스를 수동으로 수행하는 단계별 가이드와 기능 분기를 최신 상태로 유지하는 방법에 대한 추가 정보도 포함되어 있습니다. 업스트림 마스터 및 기타 유용한 정보를 제공합니다.