2013-02-11 2 views
65

다음은 주제에서 코드 기여 단계 "How do I contribute to other's code in GitHub?"포크없이 풀링 요청?

  1. 포크
  2. 저장소에 하나 이상의 주석이 잘 깨끗한 커밋을 확인 프로젝트입니다. 하나 이상의 부품 또는 피쳐를 수정하는 경우 여기에서 새 분기를 만들 수 있습니다.
  3. github의 웹 인터페이스에서 끌어 오기 요청을 수행하십시오.

리포를 포킹하지 않고 끌어 오기 요청을 할 수 있습니까?

내 계정에 20 개가 넘는 리포지토리가 일부 풀 요청을 위해 분기 된 것을 보니 매우 슬픈 일입니다. 그들에는 활동이없고 별/추종자가 없다. 마치 검은 날 동안 누군가의 코드를 복사하고있는 것처럼 보입니다.

+0

당신이 원하는 것이 왜에? –

+2

좋은 질문입니다. 20 장을 원본과 함께 최신 상태로 유지 (또는 삭제)하는 것도 명확하지 않습니다. –

답변

59

저장소에 브랜치를 만들 권한이없는 경우을 포킹하지 않고 풀 요청을 생성 할 수있는 방법이 입니다.

+4

저장소의 분기에 액세스 할 수있는 경우 끌어 오기 요청을 만드는 방법을 설명해주십시오. – bolinfest

+10

GitHub에 대한 좋은 가이드가 있습니다. https://help.github.com/articles/creating-a-pull-request/ –

20

끌어 오기 요청이 수락되면 safely delete the repo으로 작업하고 원래의 업스트림 저장소에서 직접 복제 할 수 있습니다.

당신이 만드는 다른 풀의 요청이있는 경우, 당신은 안전하게 당신이 인정 풀 요청을 관리하기 위해 만든 브랜치 삭제할 수 있음을 의미 자신의 각각의 지점 ("My pull request has been merged, what to do next?"에서와 같이)를

+2

FYI, github은 최근에 쉽게 (그리고 직관적 인) 만들기 위해 끌어 오기 요청을 병합하는 버튼을 추가했습니다. 끌어 오기 요청 분기를 삭제하십시오. https://github.com/blog/1335-tidying-up-after-pull-requests –

7
에서 그들을해야한다

정의에 따라 대상 저장소에 대한 커밋 액세스 권한이없는 경우 끌어 오기 요청에 포크가 관련됩니다. 당신은하지만, 몇 가지 작업을 수행 할 수 있습니다

  1. 당신이 커밋 액세스 지점을 생성하고 새로운 지점에 대한 당신의 풀 요청을 한을 합니다.
  2. 문제의 본문에 패치를 게시하십시오. 이것은 실제로 GitHub 방식은 아니지만 확실히 작동합니다.
  3. 저장소를 포크하고 끌어 오기 요청을 만든 다음 끌어 오기 요청이 병합되거나 거부되면 포크를 삭제하십시오.

적극적으로 사용하지 않는 저장소를 보관하지 않으려는 경우 개인적으로 옵션 # 3을 제안합니다. 허용 된 GitHub 워크 플로우는 대시 보드를 어지럽히 지 않고 그대로 유지됩니다.

6

GitHub의 공유 저장소 모델은 소규모 팀 및 개인 프로젝트에 협력 단체들과 더 유행 Shared Repository Model

을 지원합니다. 모든 사용자에게는 단일 공유 저장소에 대한 푸시 액세스 권한이 부여되며 주제 분기는 변경 사항을 분리하는 데 사용됩니다.

끌어 오기 요청은 포크 & 끌어 오기 모델에서 특히 유용합니다. 이는 프로젝트 관리자에게 포크의 변경 사항을 알릴 수있는 방법을 제공하기 때문입니다. 그러나 공유 저장소 모델에서는 코드 검토를 시작하고 주 분기에 병합되기 전에 변경 사항 집합에 대한 일반적인 토론을하는 데 유용합니다.

당신은 여전히 ​​필요
+2

이 모델에서 끌어 오기 요청을 작성하는 방법에 대해서는 설명하지 않습니다. – bolinfest

0

한 줄이 : hub fork;git push -u $GIT_USER HEAD;hub pull-request