Estimated reading time: 1 minute
Git و GitHub: دليل شامل للمبتدئين لاحتراف إدارة المشاريع البرمجية
مقدمة
إذا كنت جديدًا في مجال البرمجة أو تطوير البرمجيات، فإن أولى الخطوات التي تحتاج لفهمها هي الأدوات الأساسية لإدارة مشاريعك. من بين هذه الأدوات الحيوية هما Git و GitHub. سنقوم هنا بتفصيل الفرق بين هاتين الأداتين واستخدامهما بشكل احترافي.
ما هو Git وما هو GitHub؟
Git هو برنامج مفتوح المصدر يُستخدم لإدارة الإصدارات (Version Control System). بعبارة أبسط، يساعدك Git في تتبع التغييرات التي تحدث على ملفات مشروعك البرمجي. يمكن اعتباره بمثابة “ذاكرة” تسجل كل تعديل أجريته على الكود، مما يسمح لك بالعودة إلى نسخ سابقة في حال وقوع خطأ ما.
GitHub هو منصة مستضافة عبر الإنترنت تُستخدم لحفظ المشاريع البرمجية باستخدام Git، مما يتيح لك مشاركة مشروعك مع الآخرين والتعاون معهم. GitHub لا يُستخدم فقط كمنصة للنسخ الاحتياطي، بل أيضًا كأداة قوية للتعاون بين المبرمجين عبر تقديم ميزات مثل مراجعة الكود (Code Review) والعمل الجماعي من خلال Pull Requests.
الفوائد الرئيسية لاستخدام Git و GitHub
- الاحتفاظ بالإصدارات السابقة: يمكنك باستخدام Git استرجاع أي نسخة سابقة من مشروعك بسهولة.
- التعاون مع الآخرين: GitHub يوفر بيئة متميزة للتعاون مع المطورين الآخرين عن بعد.
- إدارة المشاريع المفتوحة المصدر: GitHub هو المنصة الرئيسية للمشاريع المفتوحة المصدر، حيث يمكن للمبرمجين من جميع أنحاء العالم المساهمة في تطويرها.
أوامر Git الأساسية
من المهم معرفة الأوامر الأساسية التي تحتاجها لإدارة مشروعك باستخدام Git. هذه الأوامر هي البنية التحتية لأي مشروع يعتمد على Git.
- git init: يستخدم هذا الأمر لتهيئة مشروع جديد في Git. عندما تقوم بتنفيذه، يتم إنشاء مجلد مخفي يحتوي على معلومات خاصة بإدارة الإصدارات.
- git add .: يضيف جميع الملفات الجديدة أو المعدلة إلى منطقة التحضير (Staging Area) تمهيدًا لحفظها في سجل Git.
- git commit -m “رسالة توضيحية”: يسجل التغييرات في مشروعك، مع إمكانية إضافة رسالة توضح التعديلات التي أجريتها.
- git status: يعرض حالة المشروع، ويبين لك أي ملفات تم تعديلها ولم يتم حفظها بعد.
- git push origin master: يُستخدم هذا الأمر لرفع التعديلات المحفوظة (committed) إلى المستودع البعيد (GitHub).
- git clone [رابط_المستودع]: يستخدم هذا الأمر لنسخ مشروع من GitHub إلى جهازك.
- git pull: يجلب أحدث التعديلات من المستودع البعيد (GitHub) ويدمجها مع الكود المحلي لديك.
- git branch [اسم_الفرع]: لإنشاء فرع جديد للعمل على ميزة أو إصلاح مشكلة بدون التأثير على الكود الرئيسي.
إعداد مشروعك على Git و GitHub
للبدء في إدارة مشروعك البرمجي باستخدام Git و GitHub، اتبع الخطوات التالية:
- تهيئة المشروع باستخدام Git: افتح Terminal أو Command Prompt، وانتقل إلى المجلد الذي يحتوي على مشروعك البرمجي، ثم نفّذ الأمر
git init
. - إضافة الملفات إلى Git: استخدم الأمر
git add .
لإضافة جميع الملفات الموجودة في المجلد إلى Git. - حفظ التعديلات مع رسالة توضيحية: استخدم
git commit -m "رسالة توضيحية"
لتوثيق التعديلات. - إنشاء مستودع على GitHub: قم بفتح حسابك على GitHub وأنشئ مستودعًا جديدًا، وحدد ما إذا كنت ترغب في جعله عامًا (Public) أو خاصًا (Private).
- ربط المستودع المحلي بالمستودع البعيد: انسخ رابط المستودع، ثم استخدم الأمر
git remote add origin [رابط_المستودع]
لربط مستودعك المحلي بـ GitHub. - رفع المشروع إلى GitHub: استخدم الأمر
git push origin master
لرفع ملفات مشروعك إلى GitHub.
التعاون مع الآخرين باستخدام Git و GitHub
عند العمل ضمن فريق، عليك التأكد من أن كل عضو في الفريق يستطيع الوصول إلى المشروع والتعديل عليه بسلاسة. سنفترض أن زميلك “محمد” يعمل معك على نفس المشروع، وسنوضح كيف يمكنه التعاون معك.
خطوات محمد للحصول على المشروع
- نسخ المشروع إلى جهازه: يقوم محمد بنسخ رابط المستودع الذي أنشأته على GitHub، ثم باستخدام
git clone [رابط_المستودع]
، يستطيع تنزيل نسخة من المشروع على جهازه. - التأكد من تحديث المشروع: للتأكد من أن لديه آخر نسخة من المشروع، يمكن لمحمد استخدام
git pull
لجلب أحدث التعديلات.
رفع تعديلات محمد إلى GitHub
بمجرد أن يُجري محمد التعديلات المطلوبة على المشروع، سيكون عليه رفعها إلى GitHub لتتمكن من مراجعتها ودمجها مع الكود الأساسي. يجب على محمد اتباع الخطوات التالية:
- إضافة التعديلات إلى Git: يقوم محمد بإضافة تعديلاته باستخدام
git add .
. - حفظ التعديلات: يسجل محمد التعديلات باستخدام
git commit -m "رسالة توضيحية"
. - رفع التعديلات إلى GitHub: محمد يستخدم
git push origin master
لرفع التعديلات. قد يواجه محمد مشكلة تتعلق بالصلاحيات عند محاولة رفع التعديلات إذا لم يكن لديه صلاحية الوصول للمستودع.
منح صلاحيات الوصول لمحمد
لحل مشكلة الصلاحيات، عليك إضافته كمتعاون (Collaborator) على المستودع. قم بذلك من خلال الخطوات التالية:
- انتقل إلى إعدادات المستودع على GitHub.
- اختر “Collaborators”.
- أضف اسم مستخدم محمد لمنحه صلاحيات التعديل.
دمج التعديلات من محمد
بمجرد أن يرفع محمد تعديلاته، يمكنك مراجعتها من خلال صفحة “Pull Requests” على GitHub. يمكنك إما قبول التعديلات ودمجها مع الكود الأساسي، أو رفضها وإعطاء ملاحظات لتعديلها.
مزامنة المشروع بعد الدمج
بعد دمج التعديلات، استخدم الأمر git pull
لجلب آخر نسخة من المشروع، بما في ذلك التعديلات التي قام بها محمد. بذلك يصبح لديك على جهازك النسخة النهائية المحدثة.
نصائح احترافية في استخدام Git و GitHub
- استخدام الفروع Branches: عند العمل على ميزة جديدة أو إصلاح عطل، استخدم الفروع لتجنب التأثير على الكود الأساسي. يمكنك إنشاء فرع جديد باستخدام
git branch [اسم_الفرع]
والعمل عليه بشكل مستقل. بعد الانتهاء، يمكنك دمج الفرع مع الفرع الرئيسي باستخدامgit merge
. - كتابة رسائل توضيحية مفهومة: تأكد من أن الرسائل التي تضيفها في
git commit
تكون مفصلة وواضحة بحيث يمكن لأي عضو في الفريق فهم التعديلات التي تمت. - مراجعة الكود قبل الدمج: من الأفضل دائمًا مراجعة الكود (Code Review) باستخدام GitHub قبل دمج التعديلات. هذا يضمن عدم إدخال أخطاء أو مشكلات في الكود الأساسي.
- التعاون الفعال عبر Pull Requests: استخدم ميزة “Pull Requests” على GitHub لإدارة التعاون في المشاريع. فهي تسمح لك بمراجعة التعديلات قبل دمجها مع الكود الأساسي، وتساعد في تتبع جميع التعديلات بشكل منظم.
- الاحتفاظ بنسخ احتياطية: حتى مع استخدام Git وGitHub، من المهم دائمًا الاحتفاظ بنسخ احتياطية محلية خاصة بالمشروع، خاصة في المراحل الحساسة من التطوير.