ما هي طلبات Git Pull وكيف تستخدمها؟

جدول المحتويات:

ما هي طلبات Git Pull وكيف تستخدمها؟
ما هي طلبات Git Pull وكيف تستخدمها؟
Anonim

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

ماذا يفعل طلب السحب؟

على الرغم مما قد يبدو عليه الأمر ، فإن

gitكأداة هو نظام لامركزي تمامًا. ما يعنيه ذلك هو أن المستودع الموجود على Github.com والمستودع الموجود على جهازك المحلي لا يختلفان عن بعضهما البعض.أنت لا تتصل بـ Github للعمل في مستودع ، إنك تنسخ الرمز من Github إلى المستودع المحلي لديك ، وتعمل عليه هناك.

عندما تريد دفع التغييرات ، يمكنك إجراء التزامات وتشغيل

git push، وإرسال تحديثاتك إلى "بعيد" معين ، والذي يمكن أن يكون أي مستودع Git آخر ، ولكن عادةً ما تكون خدمة مستضافة عبر الإنترنت مثل Github أو Bitbucket أو Gitlab. يقوم هذا بتحديث المستودع البعيد ليكون متزامنًا مع الريبو الخاص بك.

ومع ذلك ، لا يعمل هذا إلا عندما يكون لديك إذن لدفع الالتزامات ، وعادة ما يتم تكوينه بكلمة مرور أو مفتاح SSH. يتم منح هذا فقط لأعضاء المنظمة الذين يتحكمون في الريبو ، وإلا يمكن للجميع تغيير تاريخ Git. إذا لم تكن عضوًا في المؤسسة ، فماذا تفعل عندما تريد إجراء تغييرات؟

حسنًا ، هناك طريقة ثانية يمكن من خلالها تحديث مستودع Git-

git pull. من المحتمل أنك تفعل هذا كثيرًا عندما يقوم زملاؤك في العمل بإجراء تغييرات يتم دفعها. في هذه الحالة ، تقوم بسحب الالتزامات من المستودع البعيد ، ومزامنتها مع الريبو المحلي الخاص بك.

لكن Git لا مركزية ، لذلك لا يوجد فرق بين الريبو الخاص بك و الريبو عن بعد. يمكنك بالفعل تشغيل

git pullفي الاتجاه المعاكس ، من الخادم ، وهذا هو جوهر ما يجعل طلبات السحب تعمل.

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

git pullمقابل المستودع المحلي الخاص بك ، مع دمج الكود دون الحاجة إلى الحصول على مفتاح SSH مفوض للقيام بذلك.

العمود الفقري لتعاون المصدر المفتوح

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

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

طلبات السحب ليست بالضبط سمة من سمات

gitنفسها ، لذلك سيختلف التنفيذ الدقيق لها اعتمادًا على الخدمة. ولكن بالنسبة إلى Github ، ستجد طلبات سحب في شريط القوائم بالمستودع ، والذي يعرض قائمة بالطلبات المفتوحة والمغلقة التي يمكنك التصفية من خلالها.

صورة
صورة

إذا نقرت على أي منها ، يمكنك عرض التعليقات التي أدلى بها الطالب ، وكذلك الالتزامات المرتبطة بها.

صورة
صورة

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

صورة
صورة

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

dotnet / csharplangهو الريبو الرسمي للمناقشة حول كيفية تصميم Cكلغة برمجة. إذا انتقلت إلى القضايا ، ستجد العديد من الأشخاص يناقشون مفاهيم التكرارات المستقبلية للغة:

صورة
صورة

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

يتم رفض جميع طلبات السحب أو تؤدي مباشرةً إلى تغييرات التعليمات البرمجية في المستودع. المشكلات هي مجرد طريقة لتتبع تقدم التطوير وأي الأخطاء تحتاج إلى الإصلاح.

تقديم طلبات السحب

مرة أخرى ، ستختلف الخطوات الدقيقة لذلك اعتمادًا على الخدمة التي تستخدمها ، ولكن معظم التعاون مفتوح المصدر يحدث على Github ، لذلك سنعرض خطوات ذلك.

توجه إلى المستودع الذي تريد تقديم طلب له وانقر فوق "طلب سحب جديد" ضمن علامة التبويب طلبات السحب:

صورة
صورة

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

إذا كنت تعمل على مستودع مفتوح المصدر ، فستحتاج إلى تفرع الريبو ، ودفعه إلى Github تحت حسابك الخاص. بعد ذلك ، يمكنك تحديد "مقارنة عبر مفترقات" لدمج فرعك الرئيسي في فرعهم الرئيسي.

صورة
صورة

بمجرد الانتهاء ، سيكون طلب السحب مفتوحًا للمناقشة ، وسيتعين عليك ببساطة الانتظار لسماع رد من المشرفين.

صورة
صورة

في غضون ذلك ، يمكنك التحقق من حالة جميع طلبات السحب التي تشارك فيها من خلال علامة التبويب "طلبات السحب" في شريط العنوان الرئيسي.

موضوع شعبي