حرف G

جت

Git

آخر تحديث: 2026-10-14
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

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

الشرح التقني المتقدم

تعتبر أداة جت (Git) المعيار الصناعي الأول في عالم أنظمة التحكم في الإصدارات الموزعة (Distributed Version Control Systems). تم تطويرها بواسطة لينوس تورفالدس (Linus Torvalds) لإدارة تطوير نواة لينكس (Linux Kernel)، وهي تعمل محليا على جهاز المطور مما يوفر سرعة هائلة واستقلالية في تتبع التغييرات.

كيف يعمل جت خلف الكواليس

يعتمد جت في بنيته على نظام تخزين المحتوى (Content Tracker) بدلا من تتبع الفروقات النصية بين الملفات فقط. كلما قمت بحفظ حالة المشروع، يأخذ النظام لقطة (Snapshot) كاملة لجميع الملفات في تلك اللحظة ويحفظ مرجعا (Reference) لها.

دورة حياة الملفات وأهم الأوامر

لتهيئة مستودع (Repository) جديد في أي مجلد للبدء في تتبع ملفاته، نستخدم الأمر التالي:

git init

بمجرد تهيئة المستودع، هناك ثلاث مراحل أساسية تمر بها الملفات:

  • مرحلة التعديل (Modified): إحداث تغييرات على الملفات العاملة (Working Directory).
  • مرحلة التجهيز (Staged): إضافة الملفات المعدلة لتكون جاهزة للحفظ باستخدام أمر git add ..
  • مرحلة الحفظ (Committed): تسجيل اللقطة بشكل دائم في قاعدة البيانات المحلية (Local Database).

يمكنك دمج خطوتي التجهيز والحفظ في أمر واحد متسلسل:

git add . && git commit -m "Update source code"

لرفع التعديلات المحلية إلى مستودع بعيد (Remote Repository) مثل جيت هاب (GitHub):

git push origin main

التعامل مع التفرعات (Branches)

ميزة التفرع (Branching) في جت تتيح لك العمل على ميزة جديدة دون التأثير على الكود الأساسي (Main Branch). لإنشاء فرع جديد والانتقال إليه مباشرة:

git checkout -b new-feature

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

احرص دائما على كتابة رسائل حفظ (Commit Messages) واضحة وموجزة، ولا ترفع أبدا ملفات حساسة مثل كلمات المرور إلى المستودعات العامة. استخدم دائما ملف .gitignore لاستبعاد الملفات المؤقتة والسرية قبل أي عملية تجهيز أو حفظ.

المصادر المعتمدة :