[git] 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 일부터 ” 재 설계된 병합 버튼 “에서 지점이 삭제됩니다.

새로운 병합 버튼

병합 후 분기 삭제도 단순화되었습니다.
추가 단계로 삭제를 확인하는 대신 분기를 삭제할 때 즉시 분기를 제거하고 다시 필요할 때 분기를 복원 할 수있는 편리한 링크를 제공합니다 .

풀 요청을 병합 한 후 분기를 삭제하는 최상의 방법을 확인합니다.


풀 요청과 요청 풀


“인간”에 대한 전자 노트 (sic)

<humour>

그 (풀 요청)은 GitHub에 의해 올바르게 정의되지 않았습니다!

다행스럽게도 진정한 비즈니스 뉴스 조직은 알고 있으며 풀 교체를 ‘e-note’로 대체하기위한 e-note가 있습니다 .

https://pbs.twimg.com/media/BT_5S-TCcAA-EF2.jpg:large

당신의 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

    1. 기여하려는 리포지토리 에서 ‘포크’버튼을 클릭하십시오.이 경우 Dwolla의 PHP 리포지토리 (Dwolla / dwolla-php)
    2. 이 경우, 새로 만든 포크의 URL을 얻을 : https://github.com/tim-peterson/dwolla-php.git (팀-피터슨 /에 Dwolla-PHP)
    3. git clone->cd dwolla-php->git remote->git fetch위 시퀀스를 입력 하여 컴퓨터 어딘가에 포크를 복제하고 (이 경우 “복사 / 붙여 넣기” third_party TimPeterson$) 마스터 리포지토리 (Dwolla / dwolla-php)와 동기화하십시오.
    4. 지역 리포지토리를 변경하십시오.
    5. git add->git commit->git push위 의 순서를 입력 하여 변경 사항을 원격 저장소, 즉 Github의 포크 (tim-peterson / dwolla-php)로 푸시하십시오.
  • 2 부 : 풀 요청 만들기 : https://help.github.com/articles/using-pull-requests

    1. Github 의 포크 웹 페이지 로 이동 하십시오 ( https://github.com/tim-peterson/dwolla-php )
    2. ‘풀 요청’버튼을 클릭하십시오
    3. 풀-요청에 이름을 지정하고 변경 사항에 대한 세부 사항을 입력 한 후 제출 단추를 클릭하십시오.
    4. 끝났어요 !!

답변

풀 요청을하려면 다음 단계를 수행해야합니다.

  1. 끌어 오기 요청을하려는 저장소를 포크하십시오. 저장소 페이지에서 포크 버튼을 클릭하면 github 사용자 이름 앞에 별도의 github 저장소가 있습니다.
  2. 저장소를 로컬 머신에 복제하십시오. 로컬 머신에 설치 한 Github 소프트웨어가이를 수행 할 수 있습니다. 저장소 이름 옆의 복제 단추를 클릭하십시오.
  3. 파일을 로컬로 변경 / 커밋
  4. 변경 사항을 동기화
  5. github 포크 저장소로 이동하여 분기 버튼 옆의 “비교 및 검토”녹색 버튼을 클릭하십시오. (버튼에는 아이콘이 있습니다-텍스트가 없습니다)
  6. 변경 사항을 표시하는 새 페이지가 열리고 끌어 오기 요청 링크를 클릭하면 분기 한 저장소의 원래 소유자에게 요청이 전송됩니다.

이것을 이해하는 데 시간이 걸렸습니다. 이것이 누군가를 도울 수 있기를 바랍니다.


답변

사람들이 처음 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”을 입력 할 때만 잘못된 오류 메시지가 표시되는 사용자에게는 브라우저에서 모든 작업을 수행하는 방법이 있습니다. 🙂

  1. Tim과 Farhan이 쓴 것과 동일합니다 : 자신의 프로젝트 사본을 포크하십시오 :
    1 단계 : 포크
  2. 몇 초 후에 자신의 분기 된 프로젝트 복사본으로 리디렉션됩니다.
    2 단계
  3. 변경해야 할 파일로 이동하여 툴바에서 “이 파일 편집”을 클릭하십시오.
    3 단계 : 파일 편집
  4. 편집 후 마스터 브랜치뿐만 아니라 변경 사항을 설명하는 단어 몇 개를 작성한 다음 “변경 사항 커밋”을 작성하십시오 ( “주”프로젝트가 아닌 사용자의 사본이므로).
    4 단계 : 변경 사항 커밋
  5. 편집해야하는 모든 파일에 대해 3 단계와 4 단계를 반복 한 다음 프로젝트 사본 의 루트로 돌아가 십시오 . 녹색 “Compare, review …”버튼을 클릭하십시오 :
    5 단계 : 제출 시작
  6. 마지막으로, 요청의 제목과 설명을 다시 확인한 후 “풀 요청 생성”을 클릭 한 다음 “풀 요청 생성”을 다시 클릭하십시오 .
    여기에 이미지 설명을 입력하십시오

답변

팀 피터슨의 지시를 따랐지만 변경 사항에 대한 지역 지점을 만들었습니다. 그러나 추진 후 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

여기 에 프로그램 있으며 해당 저장소에는 작동 방식을 이해하려는 경우 동일한 프로세스를 수동으로 수행하는 단계별 가이드와 기능 분기를 최신 상태로 유지하는 방법에 대한 추가 정보도 포함되어 있습니다. 업스트림 마스터 및 기타 유용한 정보를 제공합니다.