loading

30

ديسمبر

2020

شرح أساسيات استخدام Git المعروف بنظام إدارة النسخ (1-2)

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

شرح أساسيات استخدام Git المعروف بنظام إدارة النسخ (1-2)

ما هو Git؟

يُعرّف Git بأنه نظام لإدارة النسخ، يسمح بحفظ الملفات وتتبع نسخها المختلفة سواء كانت هذه الملفات تخص شخصًا واحدًا أو عدة أشخاص مشاركين في الملفات.

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

فوائد Git

  • التراجع إلى أي نسخ سابقة بما يتيح تلافي أي خطأ يحدث أثناء العمل.
  • تتبع جميع النسخ التي تم العمل عليها بحريّة.
  • يتيح Git لأفراد الفريق البرمجي العمل على في وقت واحد على نفس الملفات بحيث يكون لكل فرد في الفريق نسخته.
  • إمكانية خلق فروع (نسخ) من ملف العمل الأصلي والتطوير عليها باستقلالية واختبارها دون التأثير على الملف الأصلي ومن ثم دمجها معه.
  • تتيح كثير من خدمات الاستضافة الشهيرة كـ Heroku و Netlify ربط مواقع الويب فيها بالـ Git وهو ما يعني سهولة تحديث الموقع دون الحاجة لإجراء عمليات الرفع التقليدية بواسطة الـ FTP.

عناصر Git

  1. Repository أو المستودع، ويمثّل المشروع الذي يتم العمل عليه بكافة ملفاته ونسخه وفروعه المختلفة، ويُطلق عليه اختصارًا Repo.
  2. Stage الطور أو المرحلة، يتعامل Git مع حفظ النسخ على مرحلتين وتمثّل الـ Stage المرحلة الأولى حيث يتم إعلام Git بالتغييرات التي يُراد حفظها.
  3. Commit أو الحفظ، وتشبه نقطة الحفظ في الألعاب Save Point حيث يمكن من خلالها العودة إلى نسخة معينة تم الحفظ عندها.
  4. Branch أو الفرع، وهو نسخة من محتوى المستودع الرئيسي، يتم العمل عليها بشكل منفصل تمامًا، ويمكن اعتبارها عملية نسخ للمشروع بكافة محتوياته.

سنتطرق بالتفصيل إلى فائدة كل عنصر من العناصر السابقة وكيفية التعامل معه.

ابدأ مع Git

أولاً: تحميل Visual Studio Code

سنقوم بكتابة أوامر Git باستخدام برنامج Visual Studio Code ويمكن تحميله من هذا الرابط بعد ذلك سنقوم بتشغيل الـ Terminal حيث سنكتب أوامر Git المختلفة من خلاله.

open_terminal.png

ثانيًا: تنصيب Git

تختلف طريقة تنصيب Git باختلاف نظام التشغيل الذي يعمل في الحاسوب، كـ Windows أو Mac OS أو Linux ويمكن تحميل Git باتباع تعليمات التحميل من موقع git-scm.com ، وباستثناء نظام الويندوز الذي يمكن تنصيبه بتحميل ملف exe ستضطر لكتابة أوامر معينة في الـ Terminal لتنصيب Git على نظامي الـ Mac OS و Linux.

ثالثًا: التأكد من تنصيب Git بنجاح

للتأكد من تنصيب Git يمكن كتابة الأمر التالي في الـ Terminal:

git version

حيث سيُظهر الأمر السابق رقم نسخة Git التي تم تنصيبها في الحاسوب.

git_version.png

التعامل مع أوامر Git

التهيئة

تعني عملية التهيئة عملية إنشاء المستودع أو الـ Repository وتتم العملية بكتابة الأمر git init في نفس مجلد المشروع الذي يتم العمل عليه، وهنا تم إنشاء مجلد باسم gitfolder لتنفيذ عمليات Git عليه..

git init

git_init.png

استعراض الحالة

يمكن معرفة حالة الـ Repo بكتابة الأمر التالي:

git status

git_status_01.png

ويُستفاد من معرفة الحالة الاطلاع على التغييرات التي لحقت بالمشروع، وكذلك الفرع الذي يتم العمل عليه، وتُظهر الصورة أن العمل جارٍ على المسار الرئيسي Master Branch، وكذلك عدم وجود أي نقاط حفظ commits إلى اللحظة.

إضافة تعديلات ما قبل الحفظ Staging

يمكن من خلال ما يعرف بالمرحلة أو Stage إعلام Git بالتعديلات التي تمت ولكنها لم تحفظ بعد في نقطة الحفظ.

stage_commit.png

سنقوم الآن بإنشاء ملف باسم index.html، ومعاينة التغيير الذي سيحدث للحالة باستخدام الأمر git status.

add_file_index.png

git status

git_status_02.png

نلاحظ في الصورة أعلاه تغير معلومات الحالة بعد إضافة الملف، حيث يظهر اسم الملف المضاف حديثًا باللون الأحمر في إشارة إلى أنه غير متتبع أو لم يتم إضافته للمرحلة أو الـ Stage، سنقوم الآن بإضافته إلى الـ Stage وذلك بكتابة الأمر git add ثم نتبعه باسم الملف:

git add index.html

سنقوم باستعراض الحالة لرؤية الفارق:

git status

git_status_03.png

ويظهر في الصورة أن اسم الملف صار باللون الأخضر وهو ما يعني أنه في مرحلة الـ Stage وجاهز للحفظ في نقطة الحفظ Commit.

إضافة أكثر من ملف إلى الـ Stage

لإضافة ملف واحد فإننا نكتب اسم الملف بعد git add ولكن ماذا لو كان لدينا عشرة ملفات أو أكثر كيف يمكن إضافتها؟ يمكن ذلك بكتابة الأمر التالي:

git add .

والنقطة هنا (٠) تعني كافة الملفات.

نقطة الحفظ Commit

بعد إضافة التعديلات باستخدام الـ Stage يمكن الآن إنشاء نقطة حفظ وذلك بكتابة git commit -m يلي ذلك عنوان نقطة الحفظ على النحو التالي:

git commit -m “version 2.0”

git_commit.png

استعراض نقاط الحفظ

سنقوم بإضافة ملف جديد باسم style.css

add_file_style.png

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

git add .
git commit -m “adding style.css”

لقد تم إنشاء نقطة حفظ جديدة للمشروع تحتوي على الملف style.css، ويمكن استعراض جميع نقاط الحفظ من خلال الأمر التالي:

git log

git_log_long.png

تحتوي كل نقطة حفظ على رقم خاص بها يميّزها عن غيرها، وفي الصورة أعلاه فإن الرقم المكتوب بالأصفر هو رقم نقطة الحفظ.

الرجوع إلى نقطة حفظ معينة

عرفنا كيفية استعراض نقاط الحفظ الموجودة، ولكن كيف يمكن الرجوع إلى نقطة حفظ معينة؟ يمكن ذلك باستخدام الأمر checkout متبوعًا برقم نقطة الحفظ أو الـ commit, وسنقوم الآن بالعودة إلى نقطة الحفظ المسماه “version 2.0” بكتابة الأمر التالي:

git checkout 4038c78dfe1c274ab6ac62a44c6fca51922459bc

add_file_index.png

نلاحظ أن ملف style.css قد اختفى نتيجة لعودتنا إلى نقطة الحفظ قبل إنشائه.

طريقة أكثر اختصارًا

من المزعج بعض الشيء استخدام رقم نقطة الحفظ الذي يزيد عن الثلاثين حرفًا، ومن حسن الحظ يمكن اختصاره باستخدام ما يسمى بالراية أو الـ flag، فإذا أضفنا الراية oneline— بعد استخدام أمر log ستظهر لدينا نسخة مختصرة من رقم نقطة الحفظ:

git log —oneline

git_log_short.png

من خلال الرقم المختصر يمكن الانتقال إلى أي نسخة باستخدام الأمر checkout:

git checkout 4038c78

ختامًا..

من خلال الجزء الأول من هذه التدوينة تعرّفنا على نظام إدارة النسخ Git وعدد من الأوامر المهمة للعمل عليه، وفي الجزء الثاني من هذه التدوينة سنتطرّق إلى واحدة من أهم خواص Git وهي الفروع أو الـ Branches بالإضافة إلى ذلك سنلقي نظرة موقع Github الشهير وكيفية الاستفادة منه في إدارة النسخ الخاصة بالمشروع البرمجي.

تصنيفات



اقرأ أيضًا: