حسنًا ، أعتقد أن هذا سيكون برنامجًا تعليميًا قصيرًا إلى حد ما ونأمل أن يكون تعليميًا ؛). سأوفر لك مستودعًا صغيرًا على github الخاص بي حتى تتمكن من إرسال تقاريرك العامة وفي نفس الوقت حتى تتمكن من التدرب على كيفية تنفيذ جميع الخطوات التي سأتركها أدناه. هنا هو الرابط لإجراء اختبار العلاقات العامة الخاص بك:
https://github.com/CodeLabora/TuPrimerPR
حسنًا ، دعنا نسرد بسرعة الخطوات اللازمة لإرسال PR:
- شوكة
- استنساخ
- عن بعد
- الفرع
- التغييرات
- أضف
- ارتكب
- دفع
- PR
أنا أضعهم باللغة الإنجليزية حتى يجدوا الخيارات الخاصة بهم في سطر أوامر git.
شوكة
الشوكة هي نسختك الخاصة من مستودع جيثب. يتيح لك هذا استنساخ عمل مشروع آخر وإدخاله في حسابك حتى تتمكن من تغيير الأشياء دون القلق بشأن فقدان التغييرات. لعمل شوكة ، من الضروري فقط الانتقال إلى الصفحة والنقر فوق الزر Fork الموجود في الجزء الأيمن العلوي.
بمجرد الانتهاء من الشوكة ، سترى أن المستودع يظهر في حسابك.
استنساخ
الآن بعد أن أصبح لدينا مستودع ، سنقوم بنسخه لفريقنا. (أفترض أن الأشخاص الذين يستخدمون Linux يتبعونني ، ولكن بالنسبة لمستخدمي الأنظمة الأخرى ، هناك أيضًا إصدارات من git يمكنك تنزيلها على صفحتهم الرسمية.
ومن خلال محطتنا ، نقوم بما يلي.
بهذا سيكون لدينا مجلد جديد يسمى TuPrimerPR حيث سيكون مشروع Github الخاص بنا. ندخل المجلد بالأمر «cd TuPrimerPR» وسنرى أن بداخله الملفات الموجودة في مفترقنا.
(لاحظ أن عدد الملفات يمكن أن يختلف اعتمادًا على ما يجدون في مستودعي عند الانقسام)
عن بعد
هذه خطوة اختيارية ، ولكنها خطوة تتجنب العديد من المشاكل عند العمل بشكل مستمر في المشروع. ينشئ Fork افتراضيًا نسخة طبق الأصل من المستودع ، ولكن في لحظة الإنشاء بالضبط. هذا يعني أنه إذا استمر المشروع في التقدم ، فسوف يتأخر المستودع الخاص بك مع مرور الأيام أو الساعات. يسمح لنا "Git remote" بتحديد نقطة تنزيل أخرى (المشروع الأصلي) وبالتالي نكون قادرين على تحديث مشروعنا في كل مرة نرى أن المشروع الرئيسي يتم تحديثه.
للعثور على المشروع الرئيسي ، تحتاج فقط إلى استخدام الرابط الموجود أسفل اسم المستودع الخاص بك. (تحقق من الصورة الثانية لقسم الشوكة). سنقوم بإضافة هذه المعلومات أدناه:
هذا هو المشروع الأصلي (سوف نسميه ضد التيار لمواكبة العديد من المشاريع).
كما ترى ، لقد أضفت جهاز التحكم عن بعد مع »إضافة git remote add »
بهذا سنتمكن من تحديث المشروع عند الضرورة ، لكننا لن نستخدمه الآن لأنه غير ضروري. (سأشرح ذلك لاحقًا ، أو في منشور آخر ، حسب الحاجة)
الفرع
تسمح لك الفروع (أو الفروع) بإنشاء أقسام من التعليمات البرمجية يمكنك العمل بها في بيئة معزولة. هذا يعني أن ما تفعله في الفرع لا يؤثر بالضرورة على الكود الأصلي حتى يتم استخدام "git merge". إنها أيضًا وظيفة إضافية تتيحها لك Github ، في كل مرة تنشئ فيها فرعًا ، يقوم Github تلقائيًا بإنشاء مصدر طلب السحب عند الضرورة.
الآن بعد أن أصبحنا في فرعنا الخاص ، يمكننا العمل على مساهمتنا.
التغييرات
سأقوم بإضافة ملفين حتى تتمكن من رؤية كيف يتم ذلك.
يسمح لنا "Touch" بإنشاء ملف فارغ (إذا لم يكن موجودًا). بهذا يمكننا الانتقال إلى خطوتنا التالية.
أضف
»Git add» يسمح لنا بإضافة ملفات إلى الالتزام (سأشرح لاحقًا). لمعرفة الملفات التي يمكنك إضافتها ، يمكنك استخدام الأمر »git status»
مع هذا لدينا كل شيء جاهز لالتزامنا
ارتكب
الالتزامات هي علامات (أو معالم) في الوقت المناسب. يحددون حالة لجميع الملفات في المشروع ويجمعون التغييرات اللازمة للانتقال من بداية المشروع إلى الحالة الحالية. يبدو الأمر معقدًا بعض الشيء ، لكنه بسيط للغاية ، فقط تذكر أنها سلالم مشروعك. نكتب "git الالتزام" وسوف نحصل على نافذة لكتابة رسالة الالتزام.
وعند الانتهاء من النص وحفظه ، سنرى شيئًا مثل:
حيث يتم عرض ملخص لما يفعله الالتزام.
دفع
من خلال الدفع ، نقوم بتحميل جميع الالتزامات التي لدينا على جهاز الكمبيوتر والتي ليست في مستودعنا على الإنترنت إلى حساب Github الخاص بنا. سيسمح هذا لـ Github بإنشاء العلاقات العامة الجديدة تلقائيًا.
لاحظ أننا نستخدم اسم فرعنا وأنه يطلب منا اسم المستخدم وكلمة المرور. في النهاية يوضح لنا أنه تم إنشاء فرع myImprovement داخل حساب Github الخاص بنا. دعونا نرى ما حققناه في المتصفح. 😉
PR
كما ترى ، تم إنشاء سطر جديد يقول "طلب المقارنة والسحب". تتيح لنا وظيفة Github هذه إنشاء العلاقات العامة بطريقة بسيطة ، وسنضغط لمعرفة ما سيحدث.
جيثب ذكي جدًا. كما ترى ، تتم إضافة أجزاء من الالتزام إلى النموذج للإرسال. من الضروري فقط النقر فوق الزر وهذا كل شيء 🙂 بسيط.
إكسترا
هذا وراء كواليس المشاريع ، تظهر العلاقات العامة ويقرر المدير ما إذا كان سيقبل أم لا ، أو يكتب المزيد من الرسائل. في حالتي سأقبله على الفور.
بمجرد الانتهاء من الدمج ، سيتمكنون من رؤية سجل تنفيذ المشروع ورؤية أسمائهم فيه.
لكن الآن لدينا مشكلة. لا يظهر هذا الالتزام في لنا المستودع ، فقط في المشروع. هل تتذكر ممرنا البعيد؟ الآن عندما يؤتي ثماره 🙂
نعود إلى فرعنا الرئيسي ونقوم بما يلي:
بهذا قمنا بتنزيل جميع المعلومات الخاصة بالمشروع الأصلي لفريقنا. كما ترى ، يظهر التزامنا هناك. سنقوم الآن بحفظ كل هذا العمل في مستودع Github الخاص بنا حتى نتمكن من حذف الفرع الذي يحتوي على المساهمة التي أضافوها بالفعل إلى المشروع.
الآن بعد أن أصبح لدينا مستودع Github المحدث ، سنقوم بحذف فرعنا ، ولكن أولاً نتأكد من وجوده داخل فرعنا الرئيسي (الرئيسي)
كما ترى ، كان لدي خطأ طفيف ، كان هذا لأنني كنت في فرع myImprovement عندما أردت الحذف. تم إصلاح ذلك من خلال العودة إلى الفرع الرئيسي.
اختتام
تم ، بهذه البساطة. الآن بعد أن أتقنت الأسرار المظلمة لـ Github لإرسال العلاقات العامة ، أتطلع إلى رؤية مساهماتك في مشاريع مختلفة. وإذا أردت ، يمكنك ترك أول علاقات عامة في مستودعي 😉 لتتذكرها.
لم أتطرق إلى ألف مزايا Git (OJOوليس Github) وكما تتوقع من المطورين المرتبطين بمجتمع kernel ، فإن Git هي أداة قوية للغاية ، مع مئات الميزات.
من أجل الحصول على فكرة أفضل عما يفعله وكل قوة Git ، أوصي بشدة بهذا كتاب. أنا متأكد من أنه سيساعدك كثيرًا في تحسين التعامل مع git.
تحياتي وآمل أن يساعدك
برنامج تعليمي ممتاز ، آمل أن تتمكن من متابعة الخوض في Git. شكرا!
واضح! سأقوم بإضافة المزيد من المحتوى بأسرع ما يمكن حول هذا وأكثر من ذلك بكثير.
ممتاز
كيف جيدة خدمتك 😉 تحياتي
بمجرد أن أتمكن من ممارستها ، شكرًا جزيلاً لك ، هذا البرنامج التعليمي هو ما كنت أبحث عنه لفترة طويلة ولكني لم أجده!
شرح جيد جدا ، من الأساسيات ، شكرا لك. أود تحسين الكابتوا عندما يكون لديك الوقت.