ماهو Git & GitHub ؟
بقلم: غدير قلعص - أمل مير
أصبحنا نسمع كثيرًا عن أهمية Git و مشاركة أعمالنا و الأكواد عن طريق موقع GitHub. و حتى عند التقديم على فرص في المجال التقني, فإن من ضمن الأمور المهمة إرفاق حسابنا على GitHub.
بدايةً ماهو Git؟
يصادف في مشاريع الجامعة أو خارجها العمل ضمن فريق على أكواد, ويكون هناك صعوبة في متابعة التغييرات و كثرة الملفات المتناقلة بين أفراد المجموعة و ضياع الأكواد, لذلك أتى الحل *الرهيب* مايسمى بِــ Git , حيث يستطيع جميع أفراد الفريق العمل في ذات الوقت على جميع الملفات و التعديل عليها من غير ضياع أو فقدان لأي جزء من الأجزاء. ببساطة Git = حياة سهلة :")
أي أنه يُسهل عملية العمل على مشروع صغير أو كبير مع فريق أو بشكل فردي لمتابعة التغييرات. كما يمكنك وضع نسخة من المشروع أو بما يسمى بالمستودع داخل الجهاز مع خاصية التحديث المستمر. و هذا الخاصية تسمى بالمستودع المحلي (Local Repository) – سيتم توضيح النقطة هذه و كيفية عملها لاحقاً –
و أيضا وضع المستودع على منصة أخرى، و هو ما يسمى بالمستودع البعيد ( Remote Repository ) -. في معظم الحالات يتم تخزين هذا المستودع البعيد على خدمة استضافة البرمجيات مثل GitHub .
يأتي سؤال ماهو GitHub؟
دور GitHub في هذه العملية جوهري و يعتبر نقطة الوصل, حيث أن ملفات المشاريع تتم مشاركتها عن طريقه, و يتم التحكم به عن طريق Git و يتم أيضًا تخزين أكواد المشاريع التي تعمل عليها. كما يمكنك جعل المستودع ظاهر للجميع بحيث يمكنهم تحميل الملفات والتعديل عليها, أو يمكنك جعله شخصي فقط, كما يتم وضع مشاريع مفتوحة المصدر والتي يمكن المشاركة فيها و العمل عليها مع أشخاص لا تعرفهم.
إنشاء مستودع (Repository)خاص أو عام على GitHub:
المستودع هو الموقع الخاص بالمشروع والذي يحتوي على كل الملفات الخاصة بالمشروع بالإضافة إلى ملف التمهيدي (README) و الذي يتضمن توثيق المشروع وطريقة تشغيله. سنستعرض تفاصيل أكثر في نهاية المقال.
لإنشاء مستودع جديد، نقوم بفتح حساب GitHub، ثم اختيار Repositories، ثم New، كما هو موضح بصورة 1.
ستظهر صفحة مثل الموضحة في الصورة 2، تطلب بعض البيانات الأساسية للمشروع وهي:
اسم المشروع Repository name
وصف المشروع Description
- غير إلزامي ولكنه عنصر مهم، حيث يعطي نبذة مختصرة جدًا عن المشروع -
هل ترغب بإنشاء مستودع خاص Private أو عام Public؟
إذا كان المستودع عام، فبإمكان أي شخص الاطلاع على حسابك واستعراض ملفات المشروع وتنزيلها، أما إذا كان خاصًا، فلن يستطيع أي شخص استعراض ملفات المشروع إلا إذا كان من المساهمين في مستودع المشروع (Contributors). وبصفة عامة، لا يمكن لأي شخص التعديل على أي مستودع إلا إذا كان من المساهمين فيه سواءً كان هذا المستودع عامًا أو خاصًا.
إنشاء ملف تمهيدي مع المستودع (Initialize this repository with a README)
عند الضغط على مربع الخيار بجانب العبارة السابقة، سوف يُنشأ الملف التمهيدي (README) الذي يحتوي على اسم المشروع ووصفه المُضافان بأول خانتين. ليتم بعد ذلك التعديل على هذا الملف لتوضيح تفاصيل المشروع بشكل أوضح مع طريقة تشغيله. وسنتطرق لهذه المرحلة في الأقسام القادمة من هذه التدوينة.
عند النقر على Create repository ستظهر صفحة المستودع وستحتوي بعض الأوامر المطلوبة لرفع ملفات المشروع، أو يظهر ملف README في حال النقر على مربع إنشاء ملف تمهيدي.
التعامل مع الملفات
سنجد أن لدينا العديد من الطرق لإنشاء مستودع محلي (Local Repository)، والتعامل مع الملفات، ورفع الملفات إلى مستودع بعيد ( Remote Repository )، سنجد أن لدينا العديد من الطرق. ومن أشهر هذه الطرق الثلاثة التالية:
موجه الأوامر (Command prompt) في نظام ويندوز، أو الوحدة الطرفية (Terminal) في نظام ماك.
برنامج Git Bash
برنامج GitHub desktop
تعتمد الطريقتان الأولى على الأوامر (Commands)، بينما تعتمد الطريقة الثالثة على الواجهات والتعامل مع الأيقونات.
سنستعرض في هذا القسم كيفية العمل على git bash والتي لا تختلف كثيرًا عن الطريقة الأولى.
أولًا: نقوم بتنزيل برنامج Git
ثانيًا: بعد تثبيت و فتح البرنامج، نقوم بالانتقال إلى مسار المجلد الذي يحتوي على ملفات المشروع و ذلك عن طريق الأمر cd ، اختصارًا ل Change directory، متبوعًا بمسار المجلد. قد يتطلب منك الأمر في بعض الأحيان تغيير كل علامات \ الموجودة في المسار إلى / كما هو موضح في صورة 3.
لمعرفة مسار المجلد في نظام ويندوز، نقوم بفتح مجلد المشروع ثم نقوم بالنقر بزر الفأرة اليمين على أعلى الشريط و نقوم بإختيار copy address as text كما في صورة 4.
صورة 5 توضح طريقة معرفة مسار المجلد بالنسبة لنظام ماك، وذلك بالنقر بزر الفأرة اليمين على أي ملف داخل المجلد مع الضغط على option في لوحة المفاتيح، وسيظهر خيار Copy “FileName” as Pathname لنسخ مسار الملف. - لن يظهر هذا الخيار إذا لم يتم الضغط على مفتاح option في لوحة المفاتيح -.