포크없이 풀 리퀘스트?


105

다음은 " GitHub에서 다른 사람의 코드에 어떻게 기여합니까? " 주제의 코드 기여 단계입니다.

  1. 프로젝트 포크
  2. 하나 이상의 잘 주석 처리하고 저장소에 대한 커밋을 정리합니다. 둘 이상의 부품 또는 피쳐를 수정하는 경우 여기에서 새 분기를 만들 수 있습니다.
  3. github의 웹 인터페이스에서 pull 요청을 수행합니다.

리포지토리를 포크하지 않고 풀 리퀘스트를 할 수 있습니까?

내 계정에서 일부 풀 리퀘스트에 대해 분기 된 리포지토리를 20 개 이상 보는 것은 매우 슬픈 일입니다. 그들은 활동이없고 별 / 팔로어가 없습니다. 검은 날에 누군가의 코드를 복사하는 것 같습니다.


왜 그렇게 하시겠습니까?

3
좋은 질문. 또한 20 개의 리포지토리를 원본으로 최신 상태로 유지 (또는 삭제)하는 것도 불분명합니다.
Corey Alix

답변:


95

해당 리포지토리에 브랜치를 생성 할 수있는 액세스 권한이 없는 경우 forking없이 풀 요청을 생성 할 수있는 방법없습니다 .


8
해당 저장소의 브랜치에 액세스 할 수있는 경우 풀 요청을 생성하는 방법을 설명해 주시겠습니까?
bolinfest 2014

13
: GitHub의 그것에 대해 좋은 가이드가 help.github.com/articles/creating-a-pull-request
라이언 Bigg

2
모든 사람에게 명확하지 않을 수있는 사항에 대한 알림입니다. 기여하는 모든 저장소에 대해 포크를 만들어야하지만 포크에 브랜치를 만들면 업스트림 저장소에 대해 한 번에 하나 이상의 PR을 작업 할 수 있습니다. 20 개의 PR로 기여하기 위해 동일한 리포지토리에서 20 개의 포크가 필요하지 않습니다.
JulioHM

24

pull 요청이 수락되면 repo를 안전하게 삭제할 수 있습니다 .

그 후 원본 업스트림 저장소에서 직접 복제하기 만하면됩니다.

다른 풀 리퀘스트가있는 경우에는 각각의 브랜치에서 작성해야합니다. 즉, 승인 된 풀 리퀘스트를 관리하기 위해 만든 브랜치를 안전하게 삭제할 수 있습니다 ( " 내 풀 리퀘스트가 병합되었습니다. 다음? ")


2
참고로 github는 최근에 pull request 브랜치를 쉽고 직관적으로 삭제할 수 있도록 병합 된 pull request에 버튼을 추가했습니다 : github.com/blog/1335-tidying-up-after-pull-requests
David M

10

정의에 따라 풀 요청에는 대상 저장소에 대한 커밋 액세스 권한이없는 경우 포크가 포함됩니다. 하지만 다음과 같은 몇 가지 작업을 수행 할 수 있습니다.

  1. 커밋 액세스 권한 있는 경우 브랜치를 생성하고 새 브랜치에 대해 풀 요청을합니다.
  2. 이슈 본문에 패치를 게시하십시오. 이것은 실제로 GitHub 방식은 아니지만 확실히 작동합니다.
  3. 리포지토리를 포크하고 풀 요청을 만든 다음 풀 요청이 병합되거나 거부되면 포크를 삭제합니다.

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


아마도 여기에 최선을 다할 것입니다. 4. 이러한 pull-request-and-forget 시나리오를 처리하기 위해 두 번째 Github 계정을 유지합니다. 기본 계정이 아니므로 해당 계정에 20 개의 비활성 저장소가 있는지 여부는 중요하지 않습니다.
tanius

7

github는 공유 저장소 모델을 지원합니다.

공유 리포지토리 모델은 소규모 팀과 조직이 개인 프로젝트를 공동으로 작업하는 경우 더 많이 사용됩니다. 모든 사람에게 단일 공유 저장소에 대한 푸시 액세스 권한이 부여되고 주제 분기는 변경 사항을 격리하는 데 사용됩니다.

풀 요청은 프로젝트 관리자에게 포크 변경 사항을 알리는 방법을 제공하기 때문에 Fork & Pull 모델에서 특히 유용합니다. 그러나 이들은 주요 분기로 병합되기 전에 일련의 변경 사항에 대한 코드 검토 및 일반 토론을 시작하는 데 사용되는 공유 리포지토리 모델에서도 유용합니다.


5
이 모델에서 pull 요청을 생성하는 방법을 설명하지 않습니다.
bolinfest 2014

0

여전히 한 줄짜리가 필요합니다. hub fork;git push -u $GIT_USER HEAD;hub pull-request

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.