Pull Requests sangat bagus untuk memahami pemikiran yang lebih luas tentang suatu perubahan atau serangkaian perubahan yang dilakukan pada suatu repo. Membaca permintaan tarikan adalah cara yang bagus untuk cepat "grok" proyek karena, alih-alih perubahan atomik kecil ke sumbernya, Anda mendapatkan pengelompokan perubahan logis yang lebih besar. Analoginya dengan mengatur baris-baris dalam kode Anda menjadi "bait" terkait agar lebih mudah dibaca.
Saya menemukan diri saya melihat file atau komit, dan saya bertanya-tanya apakah ada cara untuk melacak kembali komit ke Permintaan Tarik yang awalnya dibuat itu. Permintaan Tarik itu pada akhirnya akan digabung, tetapi tidak perlu dengan komit gabungan.
git
github
pull-request
DragonFax
sumber
sumber
Jawaban:
Anda bisa pergi ke github dan memasukkan SHA ke bilah pencarian, pastikan Anda memilih tautan "Masalah" di sebelah kiri.DIPERBARUI 13 Juli 2017
Melalui Github UI sekarang ada cara yang sangat mudah untuk melakukan ini. Jika Anda melihat komit dalam daftar komit di cabang di UI, klik tautan ke komit itu sendiri. Jika ada PR untuk komit itu dan tidak ditambahkan langsung ke cabang, tautan ke PR yang mencantumkan nomor PR dan cabang yang dimasukinya akan langsung di bawah pesan komit di bagian atas halaman.
Jika Anda memiliki SHA komit dan tidak ada yang lain dan tidak ingin menggali untuk itu, cukup tambahkan
/commit/[commit SHA]
ke url repo, dan Anda akan melihat halaman komit, dengan tautan PR jika ada. Misalnya, jika SHA adalah 52797a7a3b087231e4e391e11ea861569205aaf4 dan repo itu adalah https://github.com/glimmerjs/glimmerjvm , kemudian buka https://github.com/glimmer-vm/commit5277e7e7e7esumber
e4077951
, apakah ini masih bekerja untuk Anda?master
)?Jika perlu, ubah
origin
nama remote yang menunjuk ke repositori github yang permintaan tariknya akan dikirim. Perintah pertama hanya perlu dijalankan sekali untuk remote yang diberikan, dan yang kedua umumnya akan dilakukan ketika mendapatkan pembaruan lainnya.Ini akan menyebabkan git mendapatkan informasi tentang permintaan tarik bersama dengan cabang aktual. Mereka akan muncul sebagai cabang pelacakan jarak jauh seperti
origin/pull/123
. Setelah selesai Anda dapat menggunakangit describe
dengan--all
dan--contains
pilihan untuk menunjukkan cabang pertama yang memiliki direferensikan komit.Namun, ini tidak akan berfungsi jika komit yang Anda cari sebenarnya adalah versi komit yang dimodifikasi dari permintaan tarik seperti jika perubahan diubah ke pekerjaan lain atau orang yang melakukan penggabungan memutuskan untuk membuat beberapa perubahan.
sumber
pull/*/head
komit tanpa gumpalan? Bagaimana seseorang "membersihkan" setelah ini (mengkonfigurasi ulang asal-usulnya)?upstream
memang kesalahan. Saya telah menyalinnya dari repositori yang memiliki konfigurasi tempat remote dinamaiupstream
dan melewatkan kejadian itu ketika mengubahnya untuk menggunakan yang lebih umumorigin
sebagai nama remote. Saya sudah mengedit jawaban untuk memperbaikinya.refs/remotes/origin/pr/*
bukannyarefs/remotes/origin/pull/*
Sejak 13 Oktober 2014, ini harus langsung:
Sebagai contoh:
Anda dapat melihat file tersebut
hakimel/reveal.js/plugin/markdown/markdown.js
, kontribusi saya sekarang hadir dengan referensi ke PR # 734 asalnya.Ini berasal dari Menghubungkan permintaan tarik gabungan dari komit :
sumber
API
level?Masukkan hash komit ke dalam bidang filter Permintaan Tarik pada GitHub.
sumber
Saya memiliki masalah yang sama dan menulis pembantu bash pr_for_sha, didokumentasikan di sini:
http://joey.aghion.com/find-the-github-pull-request-for-a-commit/
Sebut saja
pr_for_sha <COMMIT>
dan akan membuka halaman permintaan tarik github yang sesuai di browser.sumber
git log
perintah.git log --merges --ancestry-path --oneline 66100ab0..master
-fatal: ambiguous argument '66100ab0..master': unknown revision or path not in the working tree.
-git version 2.25.0