GitHub'da barındırılan başka bir veri havuzuna nasıl bir çekme isteği oluşturur ve / veya gönderirim?
GitHub'da barındırılan başka bir veri havuzuna nasıl bir çekme isteği oluşturur ve / veya gönderirim?
Yanıtlar:
(Resmi " GitHub Yardım 'Çekme isteklerini kullanma' sayfasına " ek olarak
ayrıca bkz. " GitHub'da Çatallama ve Dallanma ", " GitHub'da başlangıç noktası ve yukarı akış arasındaki fark nedir ")
Bir repoyu ilk kez çatalladığınızı varsayarsak, sahip olduğunuz çatalda yapmanız gerekenler:
master
biriktirip karıştırabileceğiniz bir çekme isteği oluşturmayın .origin/master
( yamanızın hala çalıştığından emin olmak) çekme isteğini otomatik olarak güncelleyecektir (hiçbir şeyi tıklamanıza gerek yoktur)git remote prune origin
) o dalı güvenle silebilirsiniz . GitHub GUI, çekme isteği sayfanızdaki şubenizi silmenizi önerir.Not: Çekme İsteğinin kendisini yazmak için bkz. " Mükemmel çekme isteği nasıl yazılır " (Ocak 2015, GitHub)
Mart 2016: Yeni PR birleştirme düğmesi seçeneği: bkz. " İnceleme yorumları sonrasında çekme isteği üzerine Github squash web arayüzünden çalışıyor mu? ".
Repoyu sürdüren kişi merge --squash
bu PR taahhütlerini seçebilir .
Son nokta ile ilgili olarak, 10 Nisan 2013'ten bu yana, " Yeniden tasarlanan birleştirme düğmesi ", şube sizin için silinir:
Birleştirme işleminden sonra şubeleri silmek de basitleştirilmiştir.
Silme işlemini fazladan bir adımla onaylamak yerine, sildiğinizde dalı hemen kaldırır ve yeniden ihtiyaç duyduğunuzda dalı geri yüklemek için uygun bir bağlantı sağlarız .
Bu, bir çekme isteğini birleştirdikten sonra dalı silme konusunda en iyi uygulamayı doğrular.
çekme isteği resmi bir "git" terimi değildir.
Git,request-pull
birleştirme isteği oluşturmak için (!) Komutunu kullanır :
"Standart çıktıya iki taahhüt arasındaki değişiklikleri özetler ve verilen URL'yi oluşturulan özete ekler."
Github, ilk günden beri kendi versiyonunu (Şubat 2008) piyasaya sürdü , ancak Mayıs 2010'da bu özelliği yeniden tasarladı :
Pull Request = Compare View + Issues + Commit comments
<humour>
Bu (çekme isteği) GitHub tarafından düzgün bir şekilde tanımlanmamıştır!
Neyse ki, gerçek bir iş haberleri organizasyonu bilir ve pull-replace'i 'e-note' ile değiştirmek için bir e-not vardır :
Senin repo Yani o tory bir e-nota ihtiyacı ... Fox Business sormak . Onlar biliyorlar.
</humour>
branch
Vs master
karar biri aslında kullanacağı konusunda bir şey teorik çözümünden benim / Github yanıtını almak için kritik bir gibi görünüyor.
git pull --rebase upstream/master
gerçekten iyi.
Çekme talebinin nasıl yapılacağını öğrenmek için Github'daki iki ayrı yardım sayfasını takip ettim (aşağıda madde işaretleri olarak bağlantılı). Aşağıdaki komut satırı komutları Bölüm 1 içindir . Asıl çekme talebi olan Bölüm 2 , tamamen Github'un web sitesinde yapılır.
$ 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
Bölüm 1 : Birinin Reposunu Çatalla: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
çatalınızı bilgisayarınızda bir yere klonlamak için yukarıdaki diziyi (yani, bu örnekte "kopyala / yapıştır" third_party TimPeterson$
) : ve ana repo ile senkronize edin (Dwolla / dwolla-php)git add->git commit->git push
değişikliklerinizi uzak repoya göndermek için yukarıdaki diziyi yazın , yani Github'daki çatalınız (tim-peterson / dwolla-php)Bölüm 2 : Çekme Talebi Yapın: https://help.github.com/articles/using-pull-requests
Tims-MacBook-Pro:third_party TimPeterson$
çünkü bu bir acemi öğreticisi ve bu istemler kullanıcıyı yönlendirmeye yardımcı oluyor.
git fetch upstream
, kullanmakta, yerel kopya ile üst düzey değişiklikleri birleştirmek gerek yok git checkout master
o zaman git merge upstream/master
?
Çekme isteği yapmak için aşağıdaki adımları uygulamanız gerekir:
Bunu anlamam biraz zaman aldı, umarım bu birisine yardım eder.
İnsanların ilk GitHub çekme talebini yapmalarına yardımcı olmak için bir proje başlattım. İlk PR'nizi burada yapmak için uygulamalı öğreticiyi yapabilirsiniz
İş akışı aşağıdaki gibi basittir:
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
düğme görmek için GitHub'daki çatalınıza gidinBir github.com hesabı olan, ancak komut satırına "git" yazdığımızda kötü bir hata mesajı alanlarımız için, tüm bunları tarayıcınızda nasıl yapacağınız aşağıda açıklanmıştır :)
Tim Peterson'ın talimatlarını izledim ama değişikliklerim için yerel bir şube oluşturdum. Ancak, ittikten sonra GitHub'da yeni şubeyi görmedim. Çözüm push komutuna -u eklemekti:
git push -u origin <branch>
tim-peterson
2 iseDwolla
Sizin için bir PR şubesi kurma işini yapan bir bash programı yazdım. Gerekirse çatallama, yukarı akışla senkronizasyon, yukarı akış uzaktan kumandayı kurma vb. Gerçekleştirir ve sadece değişikliklerinizi yapmanız, bir PR göndermeniz ve göndermeniz yeterlidir.
Nasıl çalıştırdığınız aşağıda açıklanmıştır:
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
Programı burada bulacaksınız ve deposu aynı zamanda nasıl çalıştığını anlamak istiyorsanız aynı işlemi manuel olarak gerçekleştirmek için adım adım bir kılavuz ve ayrıca özellik dalınızı nasıl güncel tutacağınız hakkında daha fazla bilgi içerir. yukarı akış ustası ve diğer yararlı çerezlerle tarih.
En basit GitHub Çekme Talebi olan web arayüzünden budala kullanmadan.
Kurşun kalem simgesini tıklayın ,
konumun yakınındaki metni arayın, istediğiniz düzenlemeleri yapın ve onaylamak için önizleyin. Önerilen değişikliğe 50 karaktere kadar bir açıklama ve isteğe bağlı olarak genişletilmiş bir açıklama verin ve ardından Dosya Değiştirmeyi Öner düğmesini tıklayın.
Bunu okuyorsanız, depoya (proje klasörleri) yazma erişiminiz olmaz, böylece GitHub hesabınızdaki havuzun (aslında bir dal) bir kopyasını oluşturur. Click çekme oluşturma isteği düğmesini.