Unduh permintaan tarik Github sebagai unified diff


277

Bagaimana saya bisa mengunduh perubahan yang terdapat dalam permintaan tarik Github sebagai diff terpadu?


Biasanya tautan tambalan PR dikirim ke orang yang menerima PR.
kenorb

Ini belum diimplementasikan di GitLab , tapi saya membuat permintaan fitur, jadi silakan tambahkan suara Anda.
colan

Jawaban:


486

Untuk melihat komit sebagai file diff / patch, cukup tambahkan .diffatau .patchke akhir URL, misalnya:


13
Terima kasih banyak. Dan ada juga .patch. Mengapa ini tidak terpapar dalam GUI? Bagaimana orang menemukan ini?
Thilo

45
Itu tidak didokumentasikan untuk menjaga stackoverflow dalam bisnis. Jujur saja, itu FAQ # 2
lihat

Juga karena git pullmetode yang disukai untuk mengunduh dan menerapkan perubahan.
Tekkub

Ooooh, terima kasih, jawaban ini bernilai emas. (Blogposting itu juga.) Saya bertanya-tanya bagaimana orang waras bisa bekerja tanpanya, dan mengapa itu tidak terekspos di UI Web jelek-cukup-seperti-itu.
mirabilos

8
Menilai dari apa yang dikembalikan dan tautan dalam dokumen di developer.github.com/v3/media/… , .diffURL memberikan perbedaan langsung ke cabang default berdasarkan pada git-diff git-scm.com/docs/git-diff output, dan .patchURL memberikan gabungan komit individu dalam PR (masing-masing relatif terhadap komitmen orang tua mereka) dalam format yang sesuai untuk email berdasarkan output git-format-patch git-scm.com/docs/git-format-patch .
rakslice

49

Agak terkait, untuk membiarkan git unduh permintaan penarikan 123 dan menambalnya mylocalbranchsecara lokal, jalankan:

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

10
Atau untuk mendapatkan permintaan tarik ke cabang PR baru git fetch origin pull/921/head:PRdan kemudian bergabung dengan cabang Anda saat ini, memberi Anda kesempatan untuk meninjau perubahan git merge PR --no-commit --no-ff
MoonStom


Ini mengharuskan Anda untuk menyiapkan Git dengan kredensial Anda. Anda tidak dapat secara anonim menguji perubahan yang diajukan (seperti Anda bisa dengan menerapkan diff secara manual). Contoh lain dari Git mengambil alur kerja sederhana dan membuatnya sulit.
jww

2

Untuk mendapatkan perubahan PR ke repo lokal Anda dalam status bertahap tetapi tidak berkomitmen, sehingga Anda dapat meninjau:

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

Dan untuk menghasilkan file tambalan dari itu:

git diff --cached > pr123.diff    
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.