لماذا نتجاهل الملفات؟
جزء من قسم التحكم في الإصدارات في رحلة Terminal على Coddy — الدرس 19 من 58.
تنتج معظم المشاريع الحقيقية ملفات لا ترغب في تضمينها في نظام التحكم في الإصدار: مخرجات البناء، والسجلات، وأسرار البيئة، وذاكرة التخزين المؤقت للمحرر، والملفات التي يتم إنشاؤها بواسطة الأدوات.
تتبع هذه الملفات سيؤدي إلى فوضى في كل مخرجات git status، وتضخيم المستودع، والمخاطرة بتسريب بيانات حساسة مثل مفاتيح API.
يحل Git هذه المشكلة باستخدام ملف خاص يسمى .gitignore. يتواجد هذا الملف في المجلد الرئيسي (root) لمستودعك ويقوم بسرد الأنماط التي يجب على Git تجاهلها.
node_modules/
.env
*.log
build/تصبح الملفات التي تطابق أي نمط في .gitignore غير مرئية لـ Git: فهي لن تظهر كملفات غير متتبعة، ولن تكون قابلة للتجهيز، ولن يتم إيداعها.
عادةً ما يتم إيداع ملف .gitignore نفسه في المستودع حتى يتشارك جميع العاملين في المشروع نفس قواعد التجاهل.
التحدي
مبتدئالمجلد يحتوي على app.js وملف مهمل debug.log. قم بتهيئة المستودع، وأنشئ ملف .gitignore يحتوي على السطر الوحيد *.log، ثم قم بتشغيل git status --short.
يجب أن يظهر فقط .gitignore و app.js كملفات غير متتبعة (untracked). أما debug.log فلا ينبغي أن يظهر.
ورقة مرجعية
يسرد .gitignore أنماطاً للملفات التي يجب على Git تخطيها (غير المتتبعة، وغير القابلة للإدراج، وغير المودعة). ضعه في جذر المستودع وقم بعمل commit له.
node_modules/ # تجاهل مجلد
.env # تجاهل ملف معين
*.log # تجاهل حسب الامتداد
build/ # تجاهل مجلد البناءجرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التحكم في الإصدارات
7التفرع (Branching)
ما هو الفرع (Branch)؟إنشاء فرعالتبديل بين الفروعإجراء Commit على فرعحذف فرعملخص - ممارسة التفرع10المستودعات البعيدة (Remotes)
ما هو الـ Remote؟إضافة Remoteعمليات Push و Pull و Cloneملخص - إعداد الـ Remote8الدمج
ما هو الدمجدمج التقديم السريع (Fast-Forward)الدمج ثلاثي الاتجاهات (Three-Way)تعارضات الدمجحل التعارضملخص - محترف الدمج11مشروع Feature Branch
نظرة عامة على المشروعتهيئة Main