Github çekme isteğini birleşik fark olarak indirin


277

Bir Github çekme isteğinde bulunan değişiklikleri birleştirilmiş bir fark olarak nasıl indirebilirim?


Normalde PR yama bağlantısı, PR'yi kabul eden kişiye gönderilir.
— kenorb

Bu henüz GitLab'da uygulanmadı , ancak bir özellik isteği oluşturdum , bu yüzden lütfen oylarınızı buna ekleyin.
— colan

Yanıtlar:


486

Bir taahhüdü bir diff / patch dosyası olarak görüntülemek için URL'yi .diffveya .patchsonuna eklemeniz yeterlidir, örneğin:


13
Çok teşekkürler. Bir de var .patch. Bu neden GUI'de gösterilmiyor? Bunu nasıl keşfedebiliriz?
— Thilo

45
Yığın akışı işinde tutmak için belgelenmemiştir. Doğrusu, bu 2 SSS # olduğu
— sehe

Ayrıca git pulldeğişiklikleri indirmek ve uygulamak için tercih edilen yöntemdir.
— Tekkub

Ooooh, teşekkürler, bu cevap altın değerinde. (Bu blog yazısı da.) Herkes aklı başında bu olmadan nasıl çalışabileceğini ve neden olduğu gibi boktan yeterince Web UI maruz değil merak ediyorum.
— mirabilos

8
Bunların ne döndüğüne ve developer.github.com/v3/media/… adresindeki dokümanlardaki bağlantılara bakıldığında , .diffURL git-diff git-scm.com/docs/git-diff çıktısına dayanan varsayılan şubeye düz bir fark verir , ve .patchURL, git-format-patch PR'deki bireysel taahhütlerin (her biri ana taahhütlerine göre) git-scm.com/docs/git-format-patch çıktısına dayalı e-posta gönderme için uygun bir biçimde bir araya getirilmesini sağlar .
— rakslice

49

Biraz ilgili, git download çekme isteği 123 izin ve mylocalbranchyerel olarak yama , çalıştırmak için:

git checkout -b mylocalbranch
git pull origin pull/921/head

10
Veya yeni bir PR şubesine git fetch origin pull/921/head:PRgit merge PR --no-commit --no-ff
— çekilip


Bu, Git'i kimlik bilgilerinizle kurmanızı gerektirir. Önerilen bir değişikliği anonim olarak test edemezsiniz (bir diff'i manuel olarak uygulayabileceğiniz gibi). Git'in başka bir örneği basit bir iş akışı alıp zorlaştırıyor.
— jww

2

Halkla İlişkiler değişikliklerini aşamalı ancak taahhüt edilmemiş bir durumda almak için inceleyebilirsiniz:

git pull origin pull/123/head --no-commit

Ve bundan bir yama dosyası oluşturmak için:

git diff --cached > pr123.diff    
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.