مقدمة إلى Git: ما هو وكيفية استخدامها

الصورة من قبل ماركوس Spiske على Unsplash

بوابة هو نظام التحكم في الإصدار الموزع مفتوح المصدر. الآن هناك الكثير من الكلمات لتعريف Git.

اسمح لي بتقسيمه وشرح الصياغة:

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

لماذا هناك حاجة لنظام التحكم في الإصدار مثل Git

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

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

أخيرًا ، تتضمن بعض المشاريع التي يتم تشغيلها بالتوازي أحيانًا نفس قاعدة البيانات. في مثل هذه الحالة ، يعد مفهوم التفرع في Git أمرًا مهمًا للغاية.

لنبدأ في استخدام Git الآن

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

تحميل بوابة

يحتوي هذا الرابط على تفاصيل حول كيفية تثبيت Git في أنظمة تشغيل متعددة:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

تحقق من تثبيت Git باستخدام الأمر التالي في موجه الأوامر:

بوابة - الإصدار

قم بإنشاء مستودع Git المحلي الخاص بك

في جهاز الكمبيوتر الخاص بك ، قم بإنشاء مجلد للمشروع الخاص بك. دعنا ندعو مجلد المشروع simple-git-demo.

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

مؤتمر نزع السلاح بسيط بوابة تجريبي
بوابة الحرف الأول

يضيف أمر git init مستودع Git محلي إلى المشروع.

دعونا نضيف بعض الكود الصغير الآن

قم بإنشاء ملف يسمى demo.txt في مجلد المشروع وإضافة النص التالي إليه:

المحتوى الأولي

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

التدريج والالتزام بالكود

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

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

انطلاق

استخدم الأمر التالي لتدريج الملف:

بوابة إضافة demo.txt

في حال كنت ترغب في إضافة ملفات متعددة ، يمكنك استخدامها:

بوابة إضافة file1

إذا كنت ترغب في إضافة جميع الملفات داخل مجلد المشروع الخاص بك إلى منطقة التدريج ، استخدم الأمر التالي:

بوابة إضافة.

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

يلتزم

استخدم الأمر التالي لربط الملف:

بوابة الالتزام - "الالتزام الأولي"

"الالتزام الأولي" هي رسالة الالتزام هنا. أدخل رسالة الالتزام ذات الصلة للإشارة إلى التغييرات التي تم إجراؤها على الكود في هذا الالتزام المحدد.

حالة بوابة وحساب سجل

الآن قم بتعديل ملف demo.txt وأضف المقتطف التالي:

المحتوى الأولي
إضافة المزيد من المحتوى

الحالة

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

استخدم الأمر التالي لمعرفة الحالة:

حالة بوابة

توضح الحالة أنه تم تعديل demo.txt ولم يتم بعد في منطقة التدريج.

الآن ، دعونا نضيف demo.txt إلى منطقة التدريج ونلزمها باستخدام الأوامر التالية:

بوابة إضافة demo.txt
بوابة الالتزام - "تم تعديل ملف demo.txt"

سجل

استخدم سجل git لطباعة جميع الالتزامات التي تم تنفيذها حتى الآن.

الأمر المستخدم لهذا هو:
سجل بوابة

يُظهر السجل مؤلف كل التزام وتاريخ الالتزام ورسالة الالتزام.

الفروع

حتى الآن لم نقم بإنشاء أي فرع في Git. بشكل افتراضي ، تذهب أوامر Git إلى الفرع الرئيسي.

ما هو الفرع؟

الفرع ليس سوى مؤشر لمؤشر الالتزام الأخير في مستودع Git. حاليًا فرعنا الرئيسي هو مؤشر للالتزام الثاني "تم تعديل ملف demo.txt".

لماذا هناك حاجة إلى فروع متعددة؟

هناك حاجة إلى فروع متعددة لدعم التطورات الموازية متعددة. راجع الصورة أدناه لمعرفة كيفية عمل الفروع.

في البداية ، تم تنفيذ الالتزام 1 والالتزام 2 في الفرع الرئيسي. بعد الالتزام 2 ، يتم إنشاء فرع جديد يسمى "اختبار" ، ويتم إضافة الالتزام 3 والالتزام 4 إلى فرع الاختبار.

في الوقت نفسه ، يتم إضافة التزام مختلف 3 والالتزام 4 إلى الفرع الرئيسي. هنا يمكننا أن نرى أنه بعد الالتزام 2 ، يتم تطوير تطورين متوازيين في فرعين منفصلين.

تباعد فرع الاختبار والفرع الرئيسي هنا ولهما رمز مختلف - يمكن دمج رمز فرع الاختبار مع الفرع الرئيسي باستخدام دمج git. سيتم تغطية هذا لاحقا.

إنشاء فرع جديد في المحلية

إنشاء فرع جديد يسمى اختبار باستخدام الأمر التالي:

بوابة فرع الاختبار

هذا الأمر يخلق فرع الاختبار.

نحن لا نزال في سياق الفرع الرئيسي. من أجل التبديل إلى فرع الاختبار. استخدم الأمر التالي:

بوابة الخروج الاختبار

الآن نحن في فرع الاختبار.

يمكنك سرد جميع الفروع المحلية باستخدام الأمر التالي:

فرع بوابة

هل بعض ارتكاب في الفرع الجديد

تعديل demo.txt عن طريق إضافة المقتطف التالي:

المحتوى الأولي
إضافة المزيد من المحتوى
إضافة بعض المحتويات من فرع الاختبار

الآن قم بالتنفيذ والالتزام باستخدام الأوامر التالية:

بوابة إضافة demo.txt
بوابة الالتزام -m "اختبار فرع الالتزام"

تم تنفيذ هذا الالتزام في فرع الاختبار ، والآن يوجد فرع الاختبار متقدمًا على الفرع الرئيسي بواجب الالتزام - حيث يتضمن فرع الاختبار أيضًا الالتزامين من الفرع الرئيسي.

يمكنك التحقق من سجل الالتزام في فرع الاختبار باستخدام:

سجل بوابة

دمج

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

لدمج التعليمات البرمجية من فرع الاختبار في الفرع الرئيسي ، اتبع الخطوات التالية:

عد أولاً إلى الفرع الرئيسي:

بوابة الخروج سيد

ثم قم بتشغيل أمر الدمج:

بوابة اختبار دمج

بعد تشغيل هذين الأمرين ، يجب أن يكون الدمج ناجحًا. في هذا المثال ، لا توجد صراعات.

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

قم بتشغيل سجل git الآن وستلاحظ أن السيد لديه أيضًا 3 عمليات.

مستودع بوابة جيت البعيد

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

عرض المستودعات النائية والمحلية

جيثب

هنا سوف نستخدم GitHub للمستودع البعيد.

انتقل إلى https://github.com/ وإنشاء حساب.

بعد التسجيل في صفحة GitHub الرئيسية ، انقر فوق "بدء مشروع" لإنشاء مستودع Git جديد. امنح المستودع اسمًا وانقر فوق "إنشاء مستودع"

اعط الاسم كـ git-blog-demo.

سيؤدي هذا إلى إنشاء مستودع بعيد في GitHub ، وعندما تفتح المستودع ، سيتم فتح صفحة مثل الصورة أدناه:

عنوان URL لمستودع التخزين هو الجزء المميز https://github.com/aditya-sridhar/git-blog-demo.git

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

git بعد إضافة الأصل [مستودع url]

بوابة دفع

لدفع جميع الكود من المستودع المحلي إلى المستودع البعيد ، استخدم الأمر التالي:

بوابة دفع أصل يو

هذا يدفع الرمز من الفرع الرئيسي في المستودع المحلي إلى الفرع الرئيسي في المستودع البعيد.

أوامر إضافية

جيت بول

يتم استخدام git pull لسحب آخر التغييرات من المستودع البعيد إلى المستودع المحلي. يتم تحديث رمز مستودع التخزين عن بُعد بشكل مستمر من قِبل العديد من المطورين ، وبالتالي فإن git pull ضروري:

بوابة سحب سيد الأصل

جيت استنساخ

يتم استخدام git clone لاستنساخ مستودع تخزين موجود عن بعد في جهاز الكمبيوتر الخاص بك. الأمر لهذا هو:

git clone [عنوان url مستودع التخزين]

مبروك

أنت الآن تعرف أساسيات كيفية استخدام Git ، لذا تابع واستكشف المزيد!

سأقوم قريبًا بنشر مقال آخر حول مفاهيم Git المتقدمة قليلاً. ترقب!

عن المؤلف

أحب التكنولوجيا ومتابعة التطورات في التكنولوجيا. أود أيضًا مساعدة الآخرين بأي معرفة لدي في مجال التكنولوجيا.

لا تتردد في الاتصال بي على حساب LinkdIn الخاص بي https://www.linkedin.com/in/aditya1811/

يمكنك أيضا متابعة لي على تويتر https://twitter.com/adityasridhar18

موقع الويب الخاص بي: https://adityasridhar.com/

وظائف أخرى من قبلي

كيفية استخدام جيت بكفاءة