المدخلات المطلوبة:
- اقرأ مقالتي حول Git وتابعها وافهمها . سيساعد هذا في التأكد من أن كل شيء جاهز وجاهز للانطلاق.
- قم بتثبيت IntelliJ IDEA.
- خصص ساعة من الوقت الشخصي لتحقيق الإتقان الكامل.
استنساخ المشروع محليا
هناك خياران هنا:- إذا كان لديك حساب GitHub بالفعل وترغب في دفع شيء ما لاحقًا، فمن الأفضل أن تقوم بتقسيم المشروع واستنساخ نسختك الخاصة.
- استنساخ المستودع الخاص بي والقيام بكل شيء محليًا دون القدرة على دفع كل شيء إلى الخادم. بعد كل شيء، هذا هو مستودعي :)
-
انسخ عنوان المشروع:
-
افتح IntelliJ IDEA وحدد "الحصول على التحكم في الإصدار":
-
انسخ والصق عنوان المشروع:
-
سيُطلب منك إنشاء مشروع IntelliJ IDEA. قبول العرض:
-
نظرًا لعدم وجود نظام بناء وهذا خارج نطاق هذه المقالة، نختار إنشاء مشروع من المصادر الموجودة :
-
بعد ذلك سترى هذه الشاشة الجميلة: الآن بعد أن اكتشفنا الاستنساخ، يمكنك إلقاء نظرة حولك.
النظرة الأولى على IntelliJ IDEA باعتبارها واجهة مستخدم Git
ألق نظرة فاحصة على المشروع المستنسخ: يمكنك بالفعل الحصول على الكثير من المعلومات حول نظام التحكم في الإصدار. أولاً، لدينا جزء التحكم في الإصدار في الزاوية اليسرى السفلية. هنا يمكنك العثور على جميع التغييرات المحلية والحصول على قائمة الالتزامات (المشابهة لـ "git log"). دعنا ننتقل إلى مناقشة السجل . هناك تصور معين يساعدنا على فهم كيفية سير التطوير بالضبط. على سبيل المثال، يمكنك أن ترى أنه تم إنشاء فرع جديد برأس مضاف إلى التزام 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 بالتزام جديد من خلال المتصفح، وبالتالي محاكاة العمل الموازي. يبدو الأمر كما لو أن شخصًا ما أجرى تغييرات في نفس الملف أثناء العمل عليه. وستكون النتيجة الصراع. سأقوم بإزالة كلمة "كامل" من السطر 10.تنفيذ وظائفنا
مهمتنا هي تغيير الملف التمهيدي وإضافة وصف للمقالة الجديدة. أي أن العمل في Git يمر عبر IntelliJ IDEA. أضف هذا: تمت التغييرات. الآن يمكننا إنشاء التزام. اضغط على CTRL+K ، مما يعطينا: قبل إنشاء التزام، نحتاج إلى إلقاء نظرة فاحصة على ما تقدمه هذه النافذة. أضفت أسهمًا حمراء لتظهر لك المكان الذي تبحث فيه. هناك الكثير من الأشياء المثيرة للاهتمام هنا. في قسم رسالة الالتزام ، نكتب النص المرتبط بالالتزام. ثم لإنشائه، نحتاج إلى النقر فوق "التزام" . ما زلت لم أكتشف كيفية القيام بذلك باستخدام مفتاح التشغيل السريع. إذا اكتشف شخص ما الطريقة، يرجى الكتابة لي – فهذا من شأنه أن يجعلني سعيدًا جدًا. نكتب أن الملف README قد تغير ونقوم بإنشاء الالتزام. ينبثق تنبيه في الزاوية اليسرى السفلية باسم الالتزام:تحقق مما إذا كان الفرع الرئيسي قد تغير
أكملنا مهمتنا. إنها تعمل. لقد كتبنا الاختبارات. كل شيء على ما يرام. ولكن قبل الانتقال إلى الخادم، ما زلنا بحاجة إلى التحقق مما إذا كانت هناك أي تغييرات في الفرع الرئيسي في هذه الأثناء. كيف يمكن أن يحدث ذلك؟ بسهولة تامة: يتلقى شخص ما مهمة من بعدك، ويقوم شخص ما بإنهائها بشكل أسرع من إنهاء مهمتك. لذلك نحن بحاجة للذهاب إلى الفرع الرئيسي. للقيام بذلك، نحتاج إلى القيام بما هو موضح في الزاوية اليمنى السفلية في لقطة الشاشة أدناه: في الفرع الرئيسي، اضغط على CTRL+T للحصول على آخر تغييراته من الخادم البعيد. بالنظر إلى التغييرات، يمكنك بسهولة رؤية ما حدث: تمت إزالة كلمة "fully". ربما قرر أحد موظفي التسويق أنه لا ينبغي كتابته بهذه الطريقة وكلف المطورين بمهمة تحديثه. لدينا الآن نسخة محلية من أحدث إصدار من الفرع الرئيسي. ارجع إلى الملف التمهيدي المحسن . نحن الآن بحاجة إلى إعادة أساس التغييرات من الفرع الرئيسي إلى فرعنا. نحن نفعل هذا: إذا فعلت كل شيء بشكل صحيح وتابعت معي، فيجب أن تظهر النتيجة تعارضًا في ملف README: هنا لدينا أيضًا الكثير من المعلومات التي يجب فهمها واستيعابها. تظهر هنا قائمة بالملفات (في حالتنا، ملف واحد) التي بها تعارضات. يمكننا الاختيار من بين ثلاثة خيارات:- قبول التغييرات الخاصة بك - قبول التغييرات من الملف التمهيدي المحسن فقط.
- قبول التغييرات الخاصة بهم - قبول التغييرات من السيد فقط.
- دمج - اختر بنفسك ما تريد الاحتفاظ به وما تريد التخلص منه.
- هذه هي التغييرات من الملف التمهيدي المحسن.
- النتيجة المدمجة. في الوقت الحالي، هذا هو ما كان موجودًا قبل التغييرات.
- التغييرات من الفرع الرئيسي.
دفع التغييرات إلى الخادم البعيد
الخطوة التالية هي دفع التغييرات إلى الخادم البعيد وإنشاء طلب سحب. للقيام بذلك، ما عليك سوى الضغط على CTRL+SHIFT+K . ثم نحصل على: على اليسار، ستكون هناك قائمة بالالتزامات التي لم يتم دفعها إلى المستودع البعيد. على اليمين ستكون جميع الملفات التي تغيرت. وهذا كل شيء! اضغط على زر Push وسوف تشعر بالسعادة :) إذا نجحت عملية الدفع، فسوف ترى إشعارًا كهذا في الزاوية اليمنى السفلية:جزء المكافأة
في البداية، لم أرغب في إضافة إنشاء طلب سحب إلى هذه المقالة، لكنها لا تكتمل بدونها. لذلك، دعنا نذهب إلى مستودع GitHub (المستودع الذي يخصك بالطبع :)) ونرى أن GitHub يعرف بالفعل ما نريده: انقر فوق "مقارنة وسحب الطلب" . ثم انقر فوق إنشاء طلب سحب . نظرًا لأننا قمنا بحل التعارضات مسبقًا، الآن عند إنشاء طلب سحب، يمكننا دمجه على الفور: وهذا كل ما أردت قوله هذه المرة. بالطبع، لقد فتحت لك الباب قليلاً فقط وأريتك جزءًا صغيرًا. سوف تتعلم عن الباقي حسب حاجتك إليه. لقد اعتدت أن أدعوك لمتابعتي على GitHub ، حيث أنشر مشاريعي التي تتضمن تقنيات مختلفة أستخدمها في العمل. لقد حققت مؤخرًا إنجازًا شخصيًا: فقد حصل أحد مشاريعي على نجوم من قبل أكثر من مائة مطور. هناك شعور لا يصدق بالبهجة عندما تعلم أن ما قمت به يتم استغلاله من قبل شخص آخر. واستخدامها في الخير.روابط مفيدة
- CodeGym: البدء مع Git: دليل شامل للمبتدئين
- جيثب: مشروع تجريبي للممارسة
- JetBrains: قم بإعداد مستودع Git
- جيثب: حسابي
GO TO FULL VERSION