Çatallamadan çekme talebi?


105

Burada, " GitHub'da başkalarının koduna nasıl katkıda bulunabilirim? " Başlığından kod katkı adımları verilmiştir.

  1. Projeyi çatallayın
  2. Depoya bir veya daha fazla iyi yorumlanmış ve temiz taahhütler yapın. Birden fazla parçayı veya unsuru değiştiriyorsanız burada yeni bir dal oluşturabilirsiniz.
  3. Github'ın web arayüzünde bir çekme isteği gerçekleştirin.

Depo yapmadan çek talepte bulunmak mümkün mü?

Hesabımda bazı çekme talepleri için çatallanan 20'den fazla repo görmek oldukça üzücü. O zaman etkinlikleri yok ve sıfır yıldız / takipçi var. Görünüşe göre kara bir gün için birinin kodunu kopyalıyorum.


Neden istiyorsun

3
İyi soru. Ayrıca bu 20 depoyu orijinaliyle güncellemek (veya silmek) belirsizdir.
Corey Alix

Yanıtlar:


95

Bu havuzda dal oluşturma erişiminiz yoksa, çatallanma olmadan bir çekme isteği oluşturmanın bir yolu yoktur .


8
Bu havuzdaki şubelere erişiminiz VARSA, nasıl bir çekme talebi oluşturabileceğinizi açıklar mısınız?
bolinfest


2
Herkes için net olmayabilecek bir şey için sadece bir hatırlatma. Katkıda bulunduğunuz her depo için bir çatal oluşturmanız gerekir ... ancak çatalınızda dallar oluşturmak, yukarı akış deposu için aynı anda birden fazla PR çalışmanıza izin verir. 20 PR ile katkıda bulunmak için aynı depodan 20 çatala ihtiyacınız yok.
JulioHM

24

Çekme istekleriniz kabul edildikten sonra depoyu güvenle silebilirsiniz .

Daha sonra, doğrudan orijinal yukarı akış deposundan klonlayın.

Yapmanız gereken başka çekme istekleriniz varsa, bunları kendi şubelerinde yapmalısınız; bu, kabul edilen bir çekme isteğini yönetmek için yaptığınız şubeyi güvenle silebileceğiniz anlamına gelir (" Çekme isteğim birleştirildi, ne yapmalı? sonraki? ")


2
Bilginize, github kısa süre önce birleştirilmiş çekme isteklerine, çekme isteği dalını silmeyi kolaylaştırmak (ve sezgisel) sağlamak için bir düğme ekledi: github.com/blog/1335-tidying-up-after-pull-requests
David M

10

Tanım olarak, bir çekme isteği, hedef depoya kesin erişiminiz olmadığı sürece bir çatal içerir. Yine de birkaç şey yapabilirsiniz:

  1. Eğer varsa do erişimi işlemek zorunda, bir şube oluşturmak ve yeni şube karşı çekme isteğini olun.
  2. Yamanızı bir sorunun gövdesine gönderin. Bu gerçekten GitHub yolu değil, ama kesinlikle işe yarıyor.
  3. Bir depoyu çatallayın, bir çekme isteği oluşturun ve ardından çekme isteği birleştirildiğinde veya reddedildiğinde çatalı silin.

Sadece aktif olarak kullanmadığınız depoları saklamaktan kaçınmaya çalışıyorsanız, şahsen 3. seçeneği öneriyorum. Kontrol panelinizi karıştırmadan kabul edilen GitHub iş akışına sadık kalır.


Muhtemelen en iyisi şu şekildedir: 4. Sadece bu çek-iste ve unut senaryolarıyla başa çıkmak için ikinci bir Github hesabı oluşturun. Ana hesap olmadığı için bu hesabın içinde 20 aktif olmayan repo olup olmaması önemli değildir.
tanius

7

github, Paylaşılan Depo Modelini destekler

Paylaşılan Depo Modeli, özel projelerde işbirliği yapan küçük ekipler ve kuruluşlarla daha yaygındır. Herkese tek bir paylaşılan depoya push erişimi verilir ve değişiklikleri izole etmek için konu dalları kullanılır.

Çekme istekleri özellikle Fork & Pull Modelinde kullanışlıdır çünkü proje yöneticilerine çatalınızdaki değişiklikler hakkında bildirimde bulunmanın bir yolunu sağlarlar. Bununla birlikte, bir ana hat dalına birleştirilmeden önce bir dizi değişiklik hakkında kod incelemesini ve genel tartışmayı başlatmak için kullanıldıkları Paylaşılan Depo Modelinde de kullanışlıdırlar.


5
Bunun, bu modelde bir çekme isteğinin nasıl oluşturulacağını açıklamadığına dikkat edin.
bolinfest

0

Hala o tek satıra ihtiyacın var: hub fork;git push -u $GIT_USER HEAD;hub pull-request

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.