Pull Requestطلب الدمج
ما هو Pull Request؟
اقتراح تغيير معروض للمراجعة قبل أن يدخل النسخة الحقيقية.
ما معنى Pull Request بالعربي؟
الاسم المعتمد الآن هو «طلب الدمج». ولأن كثيرًا من المصطلحات لم يستقرّ لها اسم عربي واحد، يكتب هذا القاموس قرّاؤه: صوّت للاسم الذي تراه أوضح، أو اقترح اسمًا أفضل. نراجع الأصوات في كل جولة ونعتمد ما يختاره الناس.
-
طلب الدمج الاسم المعتمد اسم القاموس
-
طلب السحب الترجمة الحرفية الشائعة
-
بول ريكوست تعريب صوتي شائع بين المطورين
-
طلب المراجعة وصف لما يحدث فعليًا
صوت واحد لكل قارئ في كل مصطلح، وتستطيع نقله إلى اسم آخر. حين يتجاوز اسمٌ الاسمَ المعتمد ويصل إلى 5 أصوات على الأقل، نعرضه للاعتماد في الجولة التالية.
اقترح اسمًا عربيًا أفضل
هل الشرح غير واضح أو فيه خطأ؟
لوحة إعلانات في مكتب. أحدهم يثبّت عليها ورقة فيها اقتراح تعديل، وعليها علامات ملوّنة تبيّن بالضبط ما أضاف وما حذف. يقف أمام اللوحة مراجع يحمل ختمًا، يقرأ سطرًا سطرًا، ويكتب ملاحظة هنا وسؤالًا هناك. لا يُختم الاقتراح إلا حين يقتنع. وحتى ذلك الحين يبقى الاقتراح معلّقًا على اللوحة يراه الجميع، لكنه لم يصبح جزءًا من العمل الرسمي بعد.
هذا هو طلب الدمج، أو PR اختصارًا. تذكّر الفرع: نسخة جانبية بنيت عليها فكرة بعيدًا عن النسخة الرسمية main. حين تنتهي، لا تدفع عملك إلى main دفعًا؛ بل ترفع يدك: «بنيت هذا على فرعي، وهذه كل التغييرات سطرًا سطرًا، فليراجعها أحد قبل أن تصل إلى العملاء». رفع اليد هذا هو الـ Pull Request.
لماذا لا تدمج مباشرة؟ لأن الفارق بين «غيّرت شيئًا» و«أقترح تغييرًا موثّقًا للمراجعة» هو ما يمنع البرمجيات من الانهيار كل يوم. على لوحة الـ PR تحدث 3 أمور قبل أن يرى المستخدم شيئًا:
- يقرأ الزملاء التغيير ويعلّقون على الأسطر التي تقلقهم: «لماذا حذفت هذا الشرط؟».
- تعمل الاختبارات التلقائية من تلقاء نفسها لتتأكد أن شيئًا لم يُكسر.
- لا يُدمج شيء حتى يوافق شخص مسؤول.
وبالطريقة نفسها يحسّن شخص غريب أداة لا يملكها: يجد مشروعًا مفتوحًا على GitHub، ينسخه، يصلح الخطأ الذي أزعجه، ويرسل طلب دمج إلى صاحب المشروع. لم يحصل على كلمة سر ولا صلاحية؛ الـ PR كان الباب، والمراجعة كانت الحارس.
وهو أيضًا سجل دائم. بعد شهور يستطيع أي شخص فتح ذلك الطلب ليرى ماذا تغيّر، ومن وافق، ولماذا. والوكيل يستطيع فتح طلب دمج هو الآخر، فتُلقي نظرة على عمله أنت أو زميلك قبل أن يلمس main.
تخيّل أن فريقك يضيف طريقة دفع جديدة لتطبيق التوصيل. بدل أن تسمع «تم الرفع» فجأة، تصلك رسالة: «فتحنا PR، راجع الشاشات في الرابط قبل أن ندمجه الليلة».
لماذا يهمك Pull Request؟
ستعرف أن لكل تغيير في موقعك محطة مراجعة يمكنك أن تقف فيها قبل النشر. وستطلب «افتحوا PR وأروني» بدل أن تكتشف التغيير بعد وصوله إلى العملاء.
متى ستسمع كلمة Pull Request؟
يقول المطوّر: «الـ PR جاهز، ينتظر موافقتك ونتائج الاختبارات».
