كيفية تقديم طلب السحب الأول على GitHub

ما هو التفرع؟

عندما نحب مستودع شخص ما ونرغب في الحصول عليه في حساب GitHub الخاص بنا ، فإننا نقوم بتشكيله حتى نتمكن من العمل معه بشكل منفصل.

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

ما هو طلب السحب؟

طلبات السحب هي الطريقة التي نساهم بها في المشاريع الجماعية أو المشاريع مفتوحة المصدر.

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

ماذا تعني المساهمة

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

كما يقول دليل بدء الاختراق لشركة 99xtechnology IT ، يمكننا المساهمة في مشروع مفتوح المصدر بالطرق التالية:

  1. التصميم: يمكنك إنشاء تخطيطات لمشروع ما لتحسين قابليته للاستخدام ، وتحسين التنقل في المشروع والقائمة بناءً على برامج بحث المستخدم ، وإنشاء أعمال فنية للشعارات أو القمصان ، وتقديم أدلة أسلوب للمشروع.
  2. الكتابة: يمكنك كتابة وثائق المشروع وتحسينها أو ترجمة الوثائق ، وبدء رسالة إخبارية للمشروع أو كتابة دروس للمشروع وإبراز النقاط البارزة من القائمة البريدية ، أو تنظيم مجلد يضم أمثلة توضح كيفية استخدام المشاريع.
  3. التنظيم: يمكنك ربط المشكلات المكررة ، واقتراح تسميات قضايا جديدة ، واقتراح إغلاق المشكلات المفتوحة القديمة ، وطرح أسئلة حول المشكلات التي تم فتحها مؤخرًا لدفع المناقشة إلى الأمام.
  4. ساعد الآخرين: أجب عن الأسئلة المتعلقة بالقضايا المفتوحة ، وراجع الكود الخاص بعمليات إرسال الأشخاص الآخرين ، واعرض إرشاد مساهم آخر.
  5. الترميز: ساعد في حل أي مشكلات مفتوحة ، واسأل عما إذا كان بإمكانك تقديم أي ميزات جديدة وتحسين الأدوات والاختبار.

دعنا نقدم أول طلب سحب!

إذا لم تكن معتادًا على Git & GitHub ، فالرجاء مراجعة دليل المبتدئين إلى Git & GitHub.

1. شوكة المستودع

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

2. استنساخ المستودع

بمجرد أن يصبح المستودع في حسابك ، قم بنسخه على جهازك للعمل معه محليًا.

للاستنساخ ، انقر فوق الزر استنساخ وانسخ الرابط.

افتح المحطة وقم بتشغيل الأمر التالي. سيتم استنساخ المستودع محليًا.

$ git clone [HTTPS ADDRESS]

الآن قمنا بإعداد نسخة من الفرع الرئيسي من مستودع المشروع الرئيسي عبر الإنترنت.

نحتاج للذهاب إلى هذا الدليل المستنسخ عن طريق تشغيل هذا الأمر:

$ cd [NAME OF REPOSITORY]

3. إنشاء فرع

من الممارسات الجيدة إنشاء فرع جديد عند العمل مع المستودعات ، سواء كان مشروعًا صغيرًا أو يساهم في عمل مجموعة.

يجب أن يكون اسم الفرع قصيرًا ويجب أن يعكس العمل الذي نقوم به.

الآن قم بإنشاء فرع باستخدام git checkoutالأمر:

$ git checkout -b [Branch Name]

4. إجراء التغييرات والالتزام بها

قم بإجراء تغييرات أساسية على المشروع وحفظه.

ثم نفذ git status، وسترى التغييرات.

أضف هذه التغييرات إلى الفرع الذي أنشأته للتو باستخدام git addالأمر:

$ git add .

قم الآن بتنفيذ هذه التغييرات باستخدام git commitالأمر:

$ git commit -m "Adding an article to week 02 of articles of the week"

5. ادفع التغييرات إلى GitHub

من أجل دفع التغييرات إلى GitHub ، نحتاج إلى تحديد اسم جهاز التحكم عن بُعد.

$ git remote

بالنسبة لهذا المستودع ، اسم جهاز التحكم عن بعد هو "الأصل".

بعد تحديد اسم جهاز التحكم عن بُعد ، يمكننا دفع هذه التغييرات بأمان إلى GitHub.

git push origin [Branch Name]

6. إنشاء طلب سحب

انتقل إلى المستودع الخاص بك على GitHub وسترى زرًا "قارن واسحب الطلب" وانقر فوقه.

يرجى تقديم التفاصيل الضرورية حول ما قمت به (يمكنك الإشارة إلى المشكلات باستخدام "#"). قدم الآن طلب السحب.

تهانينا! لقد قدمت طلب السحب الأول.  

إذا تم قبول طلب السحب الخاص بك ، فستتلقى رسالة بريد إلكتروني.

7. مزامنة فرعك الرئيسي المتشعب

قبل إرسال أي طلبات سحب إلى المستودع الأصلي ، يجب عليك مزامنة المستودع الخاص بك مع المستودع الأصلي.

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

اتبع هذه الخطوات لتحديث / مزامنة هذه التغييرات مع الفرع الرئيسي الخاص بك:

  1. أولاً ، تحقق من الفرع الذي تتواجد فيه.
$ git branch

سوف يسرد جميع الفروع ويشير إلى الفرع الحالي أو النشط باللون الأخضر.

2. قم بالتبديل إلى الفرع الرئيسي.

$ git checkout master

3. قم بإضافة المستودع الأصلي كمستودع أول.

من أجل سحب التغييرات من المستودع الأصلي إلى نسختك المتشعبة ، تحتاج إلى إضافة مستودع Git الأصلي كمستودع أول.

$ git remote add upstream [HTTPS]

هنا ، [HTTPS] هو عنوان URL الذي يجب عليك نسخه من مستودع المالك.

4. إحضار المستودع.

قم بإحضار كافة التغييرات من المستودع الأصلي. سيتم تخزين الالتزامات إلى المستودع الأصلي في فرع محلي يسمى upstream / master.

$ git fetch upstream

5. دمجها.

دمج التغييرات من المنبع / الرئيسي في الفرع الرئيسي المحلي الخاص بك. سيؤدي ذلك إلى مزامنة الفرع الرئيسي للشوكة مع مستودع المنبع دون فقدان التغييرات المحلية.

$ git merge upstream/master

6. ادفع التغييرات إلى GitHub

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

$ git push origin master

ملاحظة: بعد مزامنة الفرع الرئيسي المتشعب الخاص بك ، يمكنك إزالة جهاز التحكم عن بُعد هذا إذا كنت تريد ذلك. لكنك ستحتاج إلى تحديث / مزامنة المستودع الخاص بك في المستقبل أيضًا ، لذلك من الأفضل الاحتفاظ به.

$ git remote rm [Remote Name]

8. حذف الفرع غير الضروري

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

$ git branch -d [Branch Name]

يمكنك حذف نسخة منه على GitHub أيضًا.

git push origin --delete [Branch Name]

استنتاج

GitHub هي أداة قوية للتحكم في محفوظات الإصدار. يمكن للجميع المساهمة في مشاريع مفتوحة المصدر من خلال تقديم طلبات سحب. المساهمات ليست دائمًا عبارة عن رمز - فهناك طرق أخرى للمساهمة أيضًا.

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

ابق قويا وابق ايجابيا ولا تستسلم ابدا.

- روي تي بينيت ، النور في القلب

تم نشر هذه المقالة في الأصل على المتوسط.

يمكنك الاتصال بي والتواصل معي على Twitter.

استمر في المساهمة في عالم مفتوح المصدر!