ملاحظات تمهيدية ضرورية:
- اقرأ وكرر وافهم المقالة حول git . سيساعد هذا في التأكد من أن كل شيء تم إعداده بالفعل وجاهز للانطلاق.
- قم بتثبيت Intellij IDEA.
- خصص ساعة من الوقت الشخصي لالاستيعاب الكامل.
استنساخ المشروع محليا
هناك خياران هنا.- إذا كان لديك حساب Github بالفعل وترغب في دفع شيء ما لاحقًا، فمن الأفضل أن تقوم بتقسيم المشروع لنفسك واستنساخ نسختك. كيفية صنع شوكة - لقد وصفت في هذه المقالة في الفصل مثالاً على سير عمل الشوكة .
- استنساخ من المستودع الخاص بي وقم بكل شيء محليًا دون القدرة على دفع كل شيء إلى الخادم. بعد كل شيء، سيكون هذا مستودعي))
-
انسخ عنوان المشروع:
-
افتح Intellij IDEA وحدد الحصول على من التحكم في الإصدار:
-
انسخ وألصق العنوان في المشروع:
-
سيُطلب منك إنشاء مشروع Intellij IDEA. نحن نقبل العرض:
-
نظرًا لعدم وجود نظام بناء، وهذا ليس نطاق المقالة، حدد إنشاء مشروع من المصادر الموجودة :
-
بعد ذلك ستكون هناك لوحة زيتية مثل هذه: لقد قمنا بحل مسألة الاستنساخ، والآن يمكننا أن ننظر حولنا.
نظرة أولية على Intellij IDEA باعتبارها واجهة مستخدم Git
ألق نظرة فاحصة أخرى على المشروع المستنسخ: حيث يمكنك بالفعل الحصول على الكثير من المعلومات حول نظام التحكم في الإصدار. الأول هو لوحة التحكم في الإصدار في الزاوية اليسرى السفلية. يمكنك العثور فيه على جميع التغييرات المحلية والحصول على قائمة بالالتزامات (مماثلة لسجل git). دعنا ننتقل إلى محاضرة السجل . هناك مكون مرئي معين يساعد على فهم كيفية سير عملية التطوير بالضبط. على سبيل المثال، يمكنك أن ترى أنه تم إنشاء فرع جديد مع إضافة رأس الالتزام إلى txt ، والذي تم دمجه بعد ذلك في الفرع الرئيسي. إذا قمت بالنقر فوق التزام، في الزاوية اليمنى يمكنك رؤية جميع المعلومات حول الالتزام: جميع التغييرات والبيانات الوصفية الخاصة بها. وعلاوة على ذلك، يمكنك أن ترى ما هي التغييرات التي تم إجراؤها. علاوة على ذلك، تم حل الصراع هناك. تظهر IDEA هذا أيضًا بشكل مثالي. إذا قمت بالنقر المزدوج على الملف الذي تم تغييره أثناء هذا الالتزام، فسنرى كيف تم حل التعارض: من الملاحظ أنه على اليمين واليسار كان هناك نسختان من نفس الملف يجب دمجهما في نسخة واحدة. وفي المنتصف هي النتيجة النهائية. عندما يحتوي المشروع على العديد من الفروع والالتزامات والمستخدمين الذين يعملون في المشروع، فأنت بحاجة إلى البحث بشكل منفصل حسب الفرع (الفرع) والمستخدم (المستخدم) والتاريخ (التاريخ): وآخر شيء أريد شرحه قبل البدء هو كيفية الفهم في أي فرع نحن. سأعطيك دقيقة للبحث... هل وجدته؟ هل تستسلم؟ :D في الزاوية اليمنى السفلية يوجد زر Git: master ، حيث بعد Git: يُظهر الفرع الذي يعمل عليه المشروع حاليًا. إذا قمت بالنقر فوق الزر، فيمكنك القيام بالكثير من الأشياء المفيدة: الانتقال إلى فرع آخر، وإنشاء فرع جديد، وإعادة تسمية فرع موجود، وما إلى ذلك.العمل مع المستودع
مفاتيح الاختصار مفيدة
لمواصلة العمل، عليك أن تتذكر بعض مفاتيح التشغيل السريع المفيدة جدًا:- ctrl + t - احصل على أحدث التغييرات من مستودع بعيد (git pull).
- ctrl + k - الالتزام/عرض جميع التغييرات المتوفرة حاليًا. يتضمن ذلك الملفات التي لم يتم تعقبها والمعدلة (راجع مقالتي حول git، وهذا موصوف هناك) (git Commit).
- ctrl + Shift + k هو أمر لدفع التغييرات إلى مستودع بعيد. سيتم عرض جميع الالتزامات التي تم إنشاؤها محليًا والتي لم يتم توفيرها بعد على جهاز التحكم عن بعد للدفع (git Push).
- alt + ctrl + z - استرجاع التغييرات في ملف معين إلى حالة آخر التزام تم إنشاؤه في المستودع المحلي. إذا قمت بتحديد المشروع بأكمله في الزاوية اليسرى العليا، فيمكنك استرجاع التغييرات التي تم إجراؤها على جميع الملفات.
ماذا نريد؟
للعمل، نحن بحاجة إلى إتقان البرنامج النصي الأساسي، والذي يستخدم في كل مكان. وتتمثل المهمة في تنفيذ وظيفة جديدة في فرع منفصل ودفعها إلى مستودع بعيد (ثم تحتاج إلى إنشاء طلب سحب آخر للفرع الرئيسي، ولكن هذا خارج نطاق مقالتنا). ما الذي أنا بحاجة لفعله؟-
الحصول على جميع التغييرات الموجودة حاليًا في الفرع الرئيسي (الرئيسي، على سبيل المثال).
-
بناءً على هذه النقطة الأساسية، قم بإنشاء واحدة منفصلة لعملك.
-
تنفيذ وظائف جديدة.
-
انتقل إلى الفرع الرئيسي وتأكد من وجود أي تغييرات جديدة أثناء عملك. إذا لم يكن الأمر كذلك، فكل شيء على ما يرام، وإذا كان كذلك، فإننا نقوم بما يلي: نذهب إلى فرع العمل ونعيد تأسيس التغييرات من الفرع الرئيسي إلى فرعنا. إذا سار كل شيء على ما يرام، فهذا عظيم. ولكن قد تكون هناك صراعات. ويمكن حلها مسبقًا دون إضاعة الوقت في مستودع بعيد.
يبدو، لماذا تفعل هذا؟ هذه قاعدة جيدة الشكل، تمنع ظهور التعارضات بعد دفع فرعك إلى المستودع المحلي (هناك، بالطبع، احتمال أن تظل موجودة، لكنها تصبح أصغر بكثير ).
- ادفع تغييراتك إلى مستودع بعيد.
هل تتلقى التغييرات من خادم بعيد؟
لقد أضفت وصفًا إلى الملف التمهيدي (README) بالتزام جديد وأريد تلقي هذه التغييرات. يتم تقديم الاختيار بين الدمج وإعادة الأساس إذا تم إجراء تغييرات في كل من المستودعات المحلية والبعيدة. حدد الدمج. أدخل ctrl + t : ونتيجة لذلك، يمكنك أن ترى كيف تغير الملف README، أي. تم سحب التغييرات من المستودع البعيد، وفي الزاوية اليمنى السفلية يمكنك رؤية جميع تفاصيل التغييرات التي جاءت من الخادم.إنشاء فرع جديد على أساس الماجستير
كل شيء بسيط هنا.-
انتقل إلى الزاوية اليمنى السفلية وانقر على Git: master ، وحدد + فرع جديد .
اترك خانة الاختيار فرع Checkout واكتب اسم الفرع الجديد. بالنسبة لي سيكون الملف التمهيدي محسنًا .
بعد ذلك، سيتغير Git: master إلى Git: readme-improver .
محاكاة العمل الموازي
لكي تظهر التعارضات، يجب على شخص ما إنشاؤها:D سأقوم بتحرير الملف README بالتزام جديد من خلال المتصفح وبالتالي محاكاة العمل الموازي. يقولون أن أحد الأشخاص، أثناء عملي، أجرى تغييرات على نفس الملف الذي قمت به، مما سيؤدي إلى حدوث تعارض. سأحذف كلمة "بالكامل" من السطر العاشر.تنفيذ الوظائف الخاصة بك
وتتمثل المهمة في تغيير الملف التمهيدي وإضافة وصف إلى المقالة الجديدة، أي أن العمل في git يتم من خلال Intellij IDEA. أضف هذا: اكتملت التغييرات، ويمكنك الآن إنشاء التزام. اضغط على مفتاح التشغيل السريع ctrl + k ، نحصل على: قبل إنشاء الالتزام، عليك أن تنظر بعناية إلى ما يتم تقديمه في هذه النافذة. لقد أضفت سهمًا على وجه التحديد ليوضح لك المكان الذي تبحث فيه. هناك الكثير من الأشياء المثيرة للاهتمام هناك. في قسم رسالة الالتزام، نكتب نص الالتزام، ولكي يتم إنشاؤه، عليك النقر فوق الزر "التزام" . ما زلت لم أجد كيفية القيام بذلك باستخدام مفتاح التشغيل السريع، لذلك إذا وجده شخص ما، فاكتب، سأكون سعيدًا جدًا. نكتب أن الملف README قد تغير وقم بإنشاء التزام. ونتيجة لذلك، سينبثق تنبيه في الزاوية اليسرى السفلية باسم الالتزام:تحقق مما إذا كان الفرع الرئيسي قد تغير
أكملنا المهمة، وهي تعمل، وكتبنا الاختبارات، وكل شيء على ما يرام. ولكن قبل الدفع إلى الخادم، تحتاج إلى التحقق مما إذا كانت هناك أي تغييرات في الفرع الرئيسي خلال هذا الوقت. كيف يمكن حصول هذا؟ الأمر بسيط للغاية: تم تكليف شخص ما بمهمة بعدك، وهذا الشخص قام بها بشكل أسرع منك. لذلك ننتقل إلى الفرع الرئيسي. للقيام بذلك، عليك أن تفعل في الزاوية اليمنى السفلية ما هو موضح في الشكل أدناه: في الفرع الرئيسي، اضغط على ctrl + t للحصول على آخر تغييراته من الخادم البعيد. إذا نظرت إلى التغييرات، يمكنك بسهولة ملاحظة ما حدث: كما ترون، تمت إزالة كلمة "تمامًا". ربما كان أحد العاملين في مجال التسويق هو الذي قرر أنه لا يمكن كتابته بهذه الطريقة وأعطى المطورين مهمة تحديثه. لدينا الآن أحدث إصدار من الفرع الرئيسي محليًا. دعنا نعود إلى الملف التمهيدي المحسن . نحن الآن بحاجة إلى إعادة أساس التغييرات من الفرع الرئيسي إلى فرعنا. نحن نفعل ذلك: إذا اتبعت كل شيء بشكل صحيح معي، فيجب أن تكون النتيجة تعارضًا في ملف README: يوجد أيضًا الكثير من المعلومات هنا التي يجب فهمها واستيعابها. يعرض هذا قائمة (في حالتنا المكونة من عنصر واحد) بالملفات التي بها تعارضات. يمكننا اختيار ثلاثة خيارات:- قبول التغييرات الخاصة بك - قبول التغييرات من الملف التمهيدي المحسن فقط.
- قبول التغييرات الخاصة بهم - قبول التغييرات من السيد فقط.
- الدمج - اختر لنفسك ما تريد الاحتفاظ به وما تريد إزالته.
- هذه تغييرات من الملف التمهيدي المحسن.
- نتيجة. في الوقت الحالي هو نفسه كما كان قبل التغييرات.
- التغييرات من الفرع الرئيسي.
دفع التغييرات إلى خادم بعيد
الخطوة التالية هي دفع التغييرات إلى الخادم البعيد وإنشاء طلب سحب. للقيام بذلك، ما عليك سوى الضغط على ctrl + Shift + k ، وبعد ذلك نحصل على: على اليسار ستكون هناك قائمة بالالتزامات التي لم يتم دفعها إلى المستودع البعيد، وعلى اليمين ستكون هناك جميع الملفات التي تم نقلها تغير. هذا كل شيء: انقر فوق "ادفع" وستكون سعيدًا :) إذا نجحت عملية الدفع، فسيكون هناك إشعار مثل هذا في الزاوية اليمنى السفلية:جزء المكافأة
لم أكن أرغب في البداية في إضافة إنشاء طلب سحب إلى المقالة، لكن تبين أن الأمر ليس مكتملًا تمامًا بسبب هذا. لذلك، نذهب إلى مستودع GitHub (إذا كان خاصًا بك بالطبع)))) ونرى أن GitHub يعرف بالفعل ما يقدمه لنا: انقر فوق طلب المقارنة والسحب ، ثم انقر فوق إنشاء طلب سحب . نظرًا لأننا قمنا بحل التعارضات مسبقًا، والآن عند إنشاء طلب سحب، يمكنك دمجه على الفور: هذا كل ما أردت أن أخبرك به هذه المرة. بالطبع، لقد فتحت الباب للتو وأريتك جزءًا صغيرًا. وستجد الباقي بنفسك حسب الحاجة. كالعادة، أدعوكم للاشتراك في حسابي على GitHub ، حيث أنشر مشاريع تعتمد على التقنيات المختلفة التي أستخدمها في العمل. لقد حققت مؤخرًا إنجازًا شخصيًا - فقد تم بالفعل تقييم مشروعي من قبل أكثر من مائة مطور. إنه شعور لا يصدق بالبهجة أن يستخدم شخص ما ما صنعته. ويستخدمه في الخير.روابط مفيدة
- JavaRush: البدء مع Git: دليل مفصل للمبتدئين
- GitHub: مشروع تجريبي للعمل معه
- JavaRush: تحليل استراتيجيات التفرع في Git
- JetBrains: قم بإعداد مستودع Git
- حبر: جيت rebase
- جيثب: حسابي
GO TO FULL VERSION