it-swarm.dev

ابحث عن طلب سحب على جيثب حيث تم إنشاء التزام أصلاً

تعد طلبات السحب رائعة لفهم التفكير الأكبر حول تغيير أو مجموعة من التغييرات التي تمت على الريبو. تعد قراءة طلبات السحب طريقة رائعة "بسرعة" لتنفيذ مشروع ، فبدلاً من التغييرات الذرية الصغيرة على المصدر ، تحصل على مجموعات أكبر من التغييرات المنطقية. مماثلة لتنظيم الخطوط في التعليمات البرمجية الخاصة بك إلى "stanzas" ذات الصلة لتسهيل قراءتها.

أجد نفسي أبحث عن ملف أو التزام ، وأتساءل عما إذا كانت هناك طريقة للتراجع عن الالتزام بطلب السحب الذي أنشأه في الأصل. تم دمج طلب السحب هذا في نهاية المطاف ، ولكن ليس ضروريًا مع التزام دمج.

149
DragonFax

يمكنك فقط الانتقال إلى github وإدخال SHA في شريط البحث ، تأكد من تحديد رابط "المشكلات" على اليسار.

محدّث 13 يوليو 2017

عبر واجهة مستخدم Github ، توجد الآن طريقة سهلة جدًا للقيام بذلك. إذا كنت تبحث عن التزام في قائمة التعهدات في فرع في واجهة المستخدم ، فانقر على رابط الالتزام نفسه. إذا كان هناك PR لهذا الالتزام ولم تتم إضافته مباشرةً إلى الفرع ، فسيكون رابطًا إلى PR يسرد رقم PR والفرع الذي ذهب إليه مباشرةً تحت رسالة الالتزام في أعلى الصفحة.  enter image description here 


 Example of finding a PR by clicking on a link to the commit 

إذا كان لديك الالتزام SHA ولا شيء آخر ولا ترغب في البحث عنه ، فما عليك سوى إضافة /commit/[commit SHA] إلى عنوان url repo ، وسترى صفحة الالتزام ، مع رابط PR إذا كان موجودًا . على سبيل المثال ، إذا كانت SHA هي 52797a7a3b087231e4e391e11ea861569205aaf4 وكانت الريبو https://github.com/glimmerjs/glimmer-vm ، ثم انتقل إلى https://github.com/glimmerjs/glimmer-vm/conf/52797a7a3b087231e4e391e11ea861569205aaf4

184
RustyToms
git config --add remote.Origin.fetch +refs/pull/*/head:refs/remotes/Origin/pull/*
git fetch Origin
git describe --all  --contains <COMMIT>

إذا لزم الأمر ، قم بتغيير Origin إلى اسم جهاز التحكم عن بعد الذي يشير إلى مستودع github الذي سيتم إرسال طلب السحب إليه. يجب تشغيل الأمر الأول مرة واحدة فقط لأي جهاز تحكم عن بعد ، وسيتم تنفيذ الأمر الثاني عند الحصول على تحديثات أخرى.

سيؤدي ذلك إلى الحصول على معلومات حول طلبات السحب جنبًا إلى جنب مع الفروع الفعلية. ستظهر كفروع تتبع عن بُعد مثل Origin/pull/123. بمجرد الانتهاء من ذلك ، يمكنك استخدام git describe مع خيارات --all و --contains لإظهار الفرع الأول الذي يحتوي على الالتزام المشار إليه.

ومع ذلك ، لن ينجح ذلك إذا كان الالتزام الذي تبحث عنه هو في الواقع نسخة معدلة من الالتزام من طلب السحب ، مثل ما إذا كان قد تم إعادة إدخال التغييرات على عمل آخر أو قرر الشخص الذي يقوم بالاندماج إجراء بعض التغييرات.

50
qqx

منذ 13 أكتوبر 2014 ، يجب أن يكون هذا واضحًا:

فمثلا:

يمكنك الاطلاع على الملف hakimel/reveal.js/plugin/markdown/markdown.js ، مساهمتي الآن يأتي مع إشارة إلى PR # 734 نشأت.

PR from contrib

هذا يأتي منربط طلبات السحب المدمجة من الإلتزامات:

لقد كنا بما في ذلك الفروع والعلامات التي تحتوي على صفحات الالتزام لنمنحك المزيد من السياق حول التغييرات. الآن ، ستظهر لك الإلتزامات في الفرع الافتراضي لمستودع التخزين طلب السحب الذي قدمها.

commit with PR reference in it!

في طلب السحب ، يمكنك رؤية النقاش حول سبب تقديم الالتزام ، والحصول على صورة أوضح عن سبب التغيير.

كما هو الحال دائمًا ، إذا كنت تعرف الالتزام SHA ، فيمكنك تخطي صفحة الالتزام و البحث عن طلب السحب مباشرةً .

21
VonC

ضع تجزئة الالتزام في حقل عوامل تصفية السحب على GitHub.

 enter image description here 

5
Dan Rosenstark

واجهت هذه المشكلة نفسها وكتبت مساعد b_ pr_for_sha الموثق هنا:

http://joey.aghion.com/find-the-github-pull-request-for-a-commit/

أطلق عليه اسم pr_for_sha <COMMIT> وسيفتح صفحة طلب سحب github المقابلة في المستعرض.

3
Joey