ما هو Git ولماذا نحتاجه؟
ما هو Git ولماذا نحتاجه؟

Git هو نظام تحكّم في الإصدارات (Version Control System) يسمح لك بتسجيل كل تغيير يحدث في ملفات المشروع على جهازك، وبإمكانك الرجوع لأي نقطة سابقة بثواني. لو كتبت كوداً اليوم وخرّب المشروع غداً، Git ينقذك. يعمل محلياً بدون إنترنت، سريع جداً، ومتوافق مع كل أنظمة التشغيل. هو الأساس الذي يبني عليه معظم المطوّرين في العالم، ولا يقتصر استخدامه على المشاريع الكبيرة، حتى المشاريع الشخصية الصغيرة تستفيد منه.


قبل Git، كان المطوّرون يعتمدون على نسخ متعددة من نفس الملف بأسماء مثل project-final-v2-final.zip، وهذا أسلوب فوضوي ومعرّض للأخطاء. Git يضع نهاية لهذه الفوضى عبر تتبّع كل commit ومنحك تاريخاً كاملاً لكل سطر تمت كتابته.

الفرق بين Git و GitHub

Git هو الأداة نفسها التي تعمل على جهازك، بينما GitHub هي منصّة على الإنترنت تستضيف مشاريعك المكتوبة بـ Git. يعني Git = البرنامج، GitHub = الخدمة. توجد بدائل لـ GitHub مثل GitLab و Bitbucket، لكن GitHub الأشهر عالمياً، ومعظم مشاريع المصدر المفتوح موجودة عليها.


من خلال GitHub يمكنك مشاركة كودك، عمل Pull Requests، وقبول مساهمات من مطوّرين حول العالم. هي أيضاً بطاقة تعريفك المهنية، كثير من الشركات تنظر إلى حسابك على GitHub قبل التوظيف لترى ما بنيته فعلياً.

الأوامر الأساسية التي تحتاجها

أول ما تتعلمه: git init لبدء مستودع جديد. ثم git add . لتجهيز التغييرات، و git commit -m "رسالة" لتسجيلها. لرفعها على GitHub استخدم git push، ولسحب آخر التحديثات git pull. ولنسخ مستودع موجود git clone URL.


أما للتعامل مع الفروع فتستخدم git branch اسم-الفرع لإنشاء فرع، و git checkout اسم-الفرع للتنقّل بين الفروع، و git merge لدمجها. لا تنسَ ملف .gitignore الذي يحدّد الملفات التي يتجاهلها Git مثل node_modules ومفاتيح الـ API.

نصائح ذهبية للمبتدئين

اكتب رسائل commit واضحة ومختصرة، كل commit يصف عملاً واحداً محدداً. بدلاً من "update" اكتب "fix login validation on empty email". هذا يسهّل عليك وعلى غيرك فهم تاريخ المشروع لاحقاً. اعمل على فرع جديد (branch) قبل دمج أي ميزة مع الفرع الرئيسي main، وهذا يحمي الكود المستقرّ من الأخطاء.


لا تخف من Git، الخوف يأتي من الأوامر في الترمنال فقط، ومع الوقت تصبح جزءاً يومياً من عملك. وإذا فضّلت الواجهة الرسومية فـ GitHub Desktop و GitKraken خياران ممتازان، لكن حاول تتعلّم الأوامر لأنها ستخدمك في كل بيئة عمل.

Share This Post