git init وadd وcommit وstatus
هيّئ مستودعًا، وجهّز التغييرات باستخدام git add، وأنشئ عمليات commit، واقرأ git status وgit log لفهم السجل.
git init وadd وcommit وstatus درس مجاني في Frontend Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Frontend Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Frontend Academy 4 دروس في المجموع.
لماذا نستخدم التحكم في الإصدارات؟
يتتبع Git كل تغيير يطرأ على شيفرتكم بمرور الوقت. ويمكنكم معرفة ما الذي تغير ومتى ولماذا. كما يمكن استعادة الأخطاء، والعمل على قاعدة الشيفرة نفسها بالتعاون مع عدة أشخاص. ويستخدم Git كل فريق محترف.
git init — بدء مستودع
شغّلوا git init في أي مجلد لتهيئة مستودع Git. ينشئ Git مجلد .git مخفيًا يخزّن سجل المشروع بالكامل.
mkdir my-project && cd my-project
git init
# Initialized empty Git repository in ./my-project/.git/المناطق الثلاث
يحتوي Git على ثلاث مناطق: دليل العمل (الملفات التي تعدّلونها)، ومنطقة التجهيز (الملفات المحددة للإيداع التالي)، والمستودع (السجل الذي جرى إيداعه). تتيح لكم منطقة التجهيز إعداد إيداعات دقيقة.
git status — ما الذي تغيّر؟
يعرض git status الملفات غير المتتبعة أو المعدّلة أو المجهزة. استخدموه باستمرار أثناء سير العمل لفهم الحالة الحالية.
git status
# Output:
# On branch main
# Changes not staged for commit:
# modified: index.html
# Untracked files:
# styles.cssgit add — تجهيز التغييرات
يجهّز git add filename ملفًا محددًا. ويجهّز git add . جميع التغييرات في المجلد الحالي. أما git add -p فيجهّز التغييرات تفاعليًا، جزءًا بعد جزء.
git add index.html # stage one file
git add src/ # stage a directory
git add . # stage everything
git add -p # interactive staginggit commit — حفظ لقطة
ينشئ git commit -m 'message' لقطة دائمة للتغييرات المجهزة. وينبغي أن تصف الرسالة سبب إجراء التغيير، لا ماهيته. ولكل إيداع تجزئة SHA فريدة.
git commit -m 'feat: add user authentication form'
git commit -m 'fix: correct email validation regex'
git commit -m 'refactor: extract validation into helper function'الإيداعات التقليدية
تستخدم فرق كثيرة تنسيق الإيداعات التقليدية Conventional Commits: type(scope): description. ومن الأنواع الشائعة: feat وfix وrefactor وtest وdocs وchore وperf. ويتيح ذلك إنشاء سجل تغييرات تلقائيًا وإدارة الإصدارات الدلالية.
feat(auth): add Google OAuth login
fix(cart): prevent duplicate item addition
docs(api): add rate limit documentation
chore(deps): upgrade React to 18.3git log — عرض السجل
يعرض git log سجل الإيداعات. ويعرض git log --oneline عرضًا مختصرًا، بحيث يظهر كل إيداع في سطر واحد. أما git log --graph فيرسم بنية الفروع.
git log --oneline --graph
# * a1b2c3d feat: add dark mode toggle
# * d4e5f6g fix: resolve mobile nav overflow
# * 7h8i9j0 refactor: extract theme hookgit diff — عرض التغييرات
يعرض git diff التغييرات غير المجهزة. ويعرض git diff --staged التغييرات المجهزة. أما git diff HEAD فيعرض جميع التغييرات منذ آخر إيداع.
ملف .gitignore
أدرجوا الملفات والمجلدات التي تريدون استبعادها من التحكم في الإصدارات داخل .gitignore. احرصوا دائمًا على تجاهل node_modules و.env وdist ومجلدات build. ويوفر GitHub قوالب gitignore لكل لغة وإطار عمل.
# .gitignore
node_modules/
dist/
.env
.env.local
*.log
.DS_Store
coverage/git restore — التراجع عن التغييرات غير المجهزة
يتجاهل git restore filename التغييرات التي أُجريت على ملف في دليل العمل، ويعيده إلى الإصدار الذي جرى إيداعه آخر مرة. هذا إجراء تدميري؛ إذ تُفقد التغييرات.
git restore index.html # discard unstaged changes
git restore --staged file.js # unstage without losing changesتحقق سريع
ماذا يفعل git add .؟
خلاصة: أوامر Git الأساسية
يبدأ git init مستودعًا. ويعرض git status الحالة الحالية. ويجهّز git add الملفات. ويحفظ git commit لقطةً مع رسالة. ويعرض git log السجل. ويعرض git diff التغييرات. ويستبعد .gitignore الملفات. اكتبوا دائمًا رسائل إيداع ذات معنى توضّح السبب، لا ماهية التغيير.
الأسئلة الشائعة
هل درس «git init وadd وcommit وstatus» مجاني؟
نعم — نص درس «git init وadd وcommit وstatus» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Frontend Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Frontend Academy 4 دروس في المجموع.
ماذا ستتعلم في «git init وadd وcommit وstatus»؟
هيّئ مستودعًا، وجهّز التغييرات باستخدام git add، وأنشئ عمليات commit، واقرأ git status وgit log لفهم السجل. تتمرن على Frontend Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Frontend Academy؟
لا تُشترط خبرة سابقة. Frontend Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «git init وadd وcommit وstatus»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Frontend Academy هذا؟
نعم. كل درس في Frontend Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- git init وadd وcommit وstatus
- التفرّع: branch وcheckout وmerge
- المستودعات البعيدة: push وpull وclone
- سير عمل Pull Request على GitHub