دليل Git الأساسي

المقدمة

مرحبا! أنا سانجولا ، وآمل أن أعلمك في هذا الدليل القليل عن Git بما في ذلك:

  • ما هو جيت
  • لماذا نتعلم Git
  • ضبط متغيرات التكوين
  • مقدمة لأمر التعليمات في Git
  • كيفية تحويل مشروع موجود إلى مستودع Git محلي
  • أشياء يجب القيام بها قبل الالتزام الأول
  • كيفية إضافة الملفات إلى منطقة التدريج
  • كيفية إزالة الملفات من منطقة التدريج
  • قم بأول التزام
  • كيفية استنساخ مستودع بعيد
  • عرض معلومات حول المستودع البعيد
  • كيفية دفع التغييرات إلى المستودع البعيد
  • كيفية إنشاء فرع لميزة أو مشكلة معينة
  • ادفع الفرع إلى المستودع البعيد بعد التنفيذ
  • كيفية دمج فرع
  • كيفية حذف الفرع

هيا بنا نبدأ!

ما هو جيت؟

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

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

فلماذا تتعلم Git؟

Git هو نظام التحكم في الإصدارات الأكثر استخدامًا في العالم اليوم. إنه مشروع مفتوح المصدر ناضج ويتم الحفاظ عليه بنشاط تم تطويره في الأصل بواسطة Linus Torvalds.

يعتمد قدر مذهل من مشاريع البرامج على Git للتحكم في الإصدار ، بما في ذلك المشروعات التجارية والمفتوحة المصدر ، خاصة باستخدام خدمة استضافة مستودع git ، GitHub ، المملوكة الآن لشركة Microsoft. ومن هنا تأتي أهمية تعلم Git.

شرط مسبق لهذا الدليل

قم بتنزيل وتثبيت git هنا

تحقق من إصدار git

git --version

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

ضبط قيم التكوين

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

git config --global user.name “Sanjula Madurapperuma”
git config --global user.email “[email protected]
git config --list

تعليمات القيادة

كما قد تلاحظ ، فإن config هو فعل تم استخدامه بشكل متكرر حتى الآن في هذا الكتيب ويمكن أيضًا استخدام الأفعال كبادئة أو لاحقة مع أمر المساعدة. يمكننا استخدام نفس المثال (الفعل config ) أعلاه لشرح هذه الأوامر.

git help config
git config --help

كلا الأمرين أعلاه ينفذان نفس الإجراء. اعرض صفحة الدليل للفعل المحدد. سيكون هذا مفيدًا لتحديد المزيد من الإمكانات المتقدمة لـ git.

كيفية تهيئة مستودع من التعليمات البرمجية الموجودة

إذا كان لديك مستودع محلي تريد تحويله إلى مشروع git لبدء تتبعه ، فيمكننا البدء بتشغيل الأمر أدناه داخل دليل المشروع.

git init

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

ماذا تفعل قبل الالتزام الأول

أدخل الأمر التالي لعرض الملفات التي لم يتم تعقبها:

git status

إذا كانت هناك ملفات لا تريد أن يراها الآخرون في المستودع ، مثل الملفات التي تحتوي على تفضيلات شخصية أو تلك الخاصة بـ IDE ، فقم بما يلي:

touch .gitignore

لتحديد الملفات التي لن يتم إضافتها إلى مستودع git ، افتح محرر نصوص واعرض ملف .gitignore ، والذي يمكن تحريره كملف نصي عادي. الآن يمكننا إدخال ما يلي في الملف ، على سبيل المثال:

.project
*.java

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

الآن قم بتشغيل حالة git مرة أخرى

يمكنك الآن ملاحظة أن الملفات التي استبعدناها في ملف .gitignore لم تعد تظهر في قائمة الملفات التي لم يتم تعقبها. يجب أن يكون ملف .gitignore ملتزمًا بالمستودع من أجل الحفاظ على الاستثناءات نفسها في جميع الأماكن الأخرى.

إضافة الملفات إلى منطقة التدريج

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

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

git add -A

إذا كنت ترغب في إضافة الملفات بشكل فردي ، فيمكننا إعطاء اسم الملف بعد إضافة git. فمثلا،

git add .gitignore

الآن إذا كتبت في حالة git ، فسترى أن ملف .gitignore موجود الآن في منطقة التدريج.

إزالة الملفات من منطقة التدريج

لإزالة الملفات بشكل فردي من منطقة التدريج ، اكتب ما يلي (على سبيل المثال):

git reset simple.py

سيؤدي هذا إلى إزالة الملف simple.py من منطقة التدريج. لمشاهدة هذا التغيير ، اكتب حالة git مرة أخرى.

إذا كنت تريد إزالة جميع الملفات من منطقة التدريج ، فقم بتشغيل ما يلي:

git reset

الآن إذا كتبنا في حالة git ، فسنرى أنه تم تغيير جميع الملفات إلى ملفات غير متتبعة.

القيام بالالتزام الأول

قم الآن بتشغيل ما يلي لإضافة جميع الملفات إلى منطقة التدريج ليتم الالتزام بها.

git add -A

إذا أردت ، يمكنك تشغيل حالة git لرؤية جميع الملفات التي سيتم الالتزام بها.

للالتزام ، اكتب ما يلي.

git commit -m “Initial Commit”

تحدد "-m" الرسالة التي سيتم تمريرها لوصف الالتزام. نظرًا لأن هذا هو التزامنا الأول ، فسنقول التزامًا أوليًا.

كما ترى ، تم تنفيذ الملفات بنجاح.

إذا قمت بتشغيل حالة git الآن ، فسترى أنه يشير إلى أن دليل العمل نظيف لأننا التزمنا بالملفات ولم نعدّل أي ملف منذ ذلك الحين.

إذا قمنا بتشغيل الأمر التالي:

git log

ثم يمكننا رؤية الالتزام الذي قطعناه للتو ، بما في ذلك رقم تجزئة الالتزام.

نحن الآن نتابع بنجاح المشروع المحلي باستخدام git!

استنساخ مستودع بعيد

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

git clone  

على سبيل المثال ، سأستخدم مستودع git على هذا الرابط.

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

انتقل إلى رابط المستودع المذكور أعلاه وانقر على الزر "استنساخ أو تنزيل" ، ثم انسخ الرابط الموجود هناك.

ثم أدخل:

git clone //github.com/sanjulamadurapperuma/GitDemoMedium.git

الآن قمنا باستنساخ المستودع بنجاح.

إذا أدخلنا الأمر التالي ، فسنرى جميع الملفات الموجودة في الدليل المحلي الآن.

ls -la

عرض معلومات حول المستودع البعيد

إذا قمت بكتابة الأمر التالي:

git remote -v

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

إذا كنت تريد كتابة الأمر

git branch -a

سيؤدي هذا إلى سرد جميع الفروع الموجودة في المستودع ، محليًا وعن بعد.

لتوضيح تحديث المستودع البعيد ، سنجري بعض التغييرات على الملفات الموجودة في المستودع الذي قمنا باستنساخه.

الآن بعد أن أجرينا تغييرًا على الكود الخاص بنا ، فإن الإجراء التالي الذي يتعين علينا القيام به هو دفع هذه التغييرات إلى المستودع البعيد

دفع التغييرات إلى المستودع البعيد

سيعرض الأمر التالي جميع التغييرات التي تم إجراؤها على الملفات.

git diff

إذا أدخلنا حالة git مرة أخرى ، يمكننا أن نرى أنه تم تتبع التغييرات وأن simple.py قد تم تعديله.

الآن قم بإضافتهم إلى منطقة التدريج

git add -A

شغّل git status مرة أخرى

الآن يمكننا أن نرى أن simple.py جاهز للالتزام.

ثم أدخل أمر التنفيذ برسالة

git commit -m “Updated hello function”

الآن علينا دفع التغييرات الملتزمة إلى المستودع البعيد حتى يتمكن الآخرون من الوصول إليها.

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

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

git pull origin master

نظرًا لأننا محدثون بالفعل ، يمكننا الآن دفع تغييراتنا إلى المستودع البعيد.

قم الآن بتشغيل ما يلي:

git push origin master

لقد نجحنا في دفع تغييراتنا إلى الفرع الرئيسي للمستودع البعيد!

إنشاء فرع لميزة أو قضية

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

أمر إنشاء فرع جديد يسمى الترحيب البسيط هو كما يلي:

git branch simple-greeting

الآن إذا قمت بتشغيل

git branch

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

إذا كنت تريد التبديل إلى الفرع الذي أنشأته للتو ، فاكتب ما يلي:

git checkout simple-greeting

الآن إذا قمت بكتابة فرع git ، فسترى أنك الآن في فرع التحية البسيطة.

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

الآن سنكرر عملية تنفيذ هذه التغييرات:

git status
git add -A
git commit -m “Greeting Function”

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

دفع الفرع إلى مستودع بعيد بعد الالتزام

أدخل الأمر التالي:

git push -u origin simple-greeting

حيث الأصل هو اسم المستودع والتحية البسيطة هي الفرع الذي نريد الدفع إليه.

لقد دفعنا الآن فرع الترحيب البسيط إلى المستودع البعيد. إذا كتبت:

git branch -a

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

نظرًا لأن جميع الاختبارات جاءت بشكل جيد (لن نخوض في التفاصيل هنا) ، يمكننا الآن دمج التحية البسيطة للفرع مع الفرع الرئيسي.

دمج فرع

أولاً ، يتعين علينا تسجيل الخروج في الفرع الرئيسي المحلي

git checkout master

اسحب جميع التغييرات في الفرع الرئيسي البعيد:

git pull origin master

سنرى الآن الفروع التي دمجناها حتى الآن:

git branch —-merged

لن يظهر فرع الترحيب البسيط هنا لأننا لم ندمجه بعد.

لدمج الترحيب البسيط مع الرئيسي ، أدخل:

git merge simple-greeting

(لاحظ أننا في الفرع الرئيسي الآن)

الآن بعد أن تم دمجها ، يمكننا دفع التغييرات إلى الفرع الرئيسي للمستودع البعيد.

git push origin master

الآن تم دفع التغييرات إلى الفرع الرئيسي في المستودع البعيد.

حذف فرع

نظرًا لأن الميزة قد تم نشرها الآن ، يمكننا حذف فرع الترحيب البسيط. لمضاعفة التحقق من الدمج الذي تم في القسم السابق ، يمكننا تشغيل:

git branch --merged

إذا ظهرت رسالة ترحيب بسيطة هنا ، فهذا يعني أننا قمنا بدمج جميع التغييرات وأنه يمكن الآن تجاهل الفرع.

git branch -d simple-greeting

الان تم حذف الفرع محليا.

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

git branch -a

لإزالة الفرع من المستودع البعيد ، أدخل:

git push origin --delete simple-greeting

إذا أعدنا تشغيل

git branch -a

يمكننا أن نرى أن الفرع قد تم حذفه الآن من المستودع البعيد أيضًا.

تهانينا!!! أنت الآن خبير في أوامر Git الأساسية والحرجة!

للإشارة إلى هذا البرنامج التعليمي أو استخدامه ، إليك رابط مستودع GitHub العام

في غضون ذلك ، قم بالتصفيق بالعدد الذي تريده لهذه المقالة إذا أعجبك ذلك ، قم بالتعليق أدناه لأي مخاوف. يرجى أيضًا مراجعة ملفي الشخصي على LinkedIn ومتابعي على Twitter!