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.