{دليل}
دليل Git بالعربية
مرجع عملي لأهم أوامر Git مشروحة بالعربية، من إعداد جهازك لأول مرة إلى التراجع عن الأخطاء. انسخ أي أمر بنقرة واحدة وجرّبه على مستودعاتك في gitPasha.
الإعداد لأول مرة
قبل أن تبدأ، عرّف Git باسمك وبريدك ليظهرا في كل إيداع تكتبه، ثم أنشئ مفتاح SSH لتتصل بـ gitPasha دون إدخال كلمة المرور في كل مرة.
git config --global user.name "اسمك"يحدد الاسم الذي سيظهر كاتباً لإيداعاتك. يكفي تنفيذه مرة واحدة على الجهاز.
git config --global user.email "[email protected]"يحدد بريدك الإلكتروني المرتبط بالإيداعات. استخدم البريد نفسه المسجّل في حسابك على gitPasha.
git config --global init.defaultBranch mainيجعل main اسماً افتراضياً للفرع الأول في أي مستودع جديد تنشئه.
git config --listيعرض كل الإعدادات الحالية، لتتأكد من أن الاسم والبريد مضبوطان كما تريد.
ssh-keygen -t ed25519 -C "[email protected]"ينشئ زوجاً من مفاتيح SSH: عام وخاص. انسخ محتوى المفتاح العام (الملف الذي ينتهي بـ .pub) وأضفه في إعدادات حسابك على gitPasha ضمن قسم مفاتيح SSH.
بدء مستودع
ابدأ مشروعاً جديداً من مجلد موجود، أو انسخ مستودعاً قائماً من gitPasha إلى جهازك.
git initيحوّل المجلد الحالي إلى مستودع Git بإنشاء المجلد المخفي .git الذي يحفظ تاريخ المشروع كاملاً.
git clone <url>ينسخ مستودعاً بعيداً بكامل تاريخه إلى جهازك، ويضبط الرابط origin تلقائياً.
git remote add origin <url>يربط مستودعك المحلي بمستودع على gitPasha باسم مختصر هو origin.
git remote -vيعرض المستودعات البعيدة المرتبطة بمشروعك وروابطها للجلب والرفع.
التعديلات والإيداع
دورة العمل اليومية: تعدّل الملفات، ثم تضيف ما تريد حفظه إلى منطقة التجهيز، ثم تكتب إيداعاً يصف التغيير.
git statusيعرض حالة مجلد العمل: الملفات المعدّلة، والجاهزة للإيداع، وغير المتتبَّعة.
git add <file>ينقل تعديلات ملف معيّن إلى منطقة التجهيز استعداداً للإيداع. ولإضافة كل التعديلات دفعة واحدة استخدم النقطة بدل اسم الملف.
git add -pيتيح لك اختيار أجزاء من التعديلات واحداً واحداً، لتكتب إيداعات صغيرة ومركّزة.
git commit -m "رسالة"يحفظ ما في منطقة التجهيز كإيداع جديد مع رسالة تصف التغيير.
git commit --amendيعدّل الإيداع الأخير: تصحيح رسالته أو إضافة ملف نسيته. تجنّب استخدامه بعد رفع الإيداع إلى المستودع البعيد.
git diffيعرض التعديلات التي لم تُجهَّز بعد، سطراً بسطر.
git diff --stagedيعرض ما جُهِّز فعلاً للإيداع، لتراجعه قبل أن تحفظه.
git log --oneline --graphيعرض تاريخ الإيداعات في سطر واحد لكل إيداع، مع رسم يوضح تفرّع الفروع ودمجها.
الفروع والدمج
الفروع تتيح لك العمل على ميزة أو إصلاح بمعزل عن الفرع الرئيسي، ثم دمجه بعد المراجعة.
git branchيعرض فروع المستودع المحلية ويُبرز الفرع الحالي بعلامة نجمة.
git switch -c <branch>ينشئ فرعاً جديداً وينتقل إليه مباشرة.
git switch <branch>ينتقل إلى فرع موجود. احرص على إيداع تعديلاتك أو حفظها مؤقتاً قبل الانتقال.
git merge <branch>يدمج تعديلات الفرع المحدّد في الفرع الحالي، فنفّذه من الفرع الذي تريد أن يستقبل التعديلات.
git rebase mainيعيد تطبيق إيداعات فرعك فوق آخر نسخة من main لتاريخ خطّي أنظف. لا تُعِد تأسيس فروع شاركتها مع غيرك.
git branch -d <branch>يحذف فرعاً بعد دمجه. وإن لم يكن مدموجاً فسيرفض Git الحذف حمايةً لعملك.
المزامنة مع المستودع البعيد
شارك عملك مع فريقك، وحدّث نسختك المحلية بما استجد على gitPasha.
git fetchيجلب آخر التعديلات من المستودع البعيد دون أن يغيّر ملفاتك الحالية.
git pullيجلب التعديلات الجديدة ويدمجها في فرعك الحالي دفعة واحدة.
git pull --rebaseمثل pull لكنه يعيد تطبيق إيداعاتك المحلية فوق الجديد بدل إنشاء إيداع دمج إضافي.
git pushيرفع إيداعاتك المحلية إلى الفرع المقابل في المستودع البعيد.
git push -u origin <branch>يرفع فرعاً جديداً لأول مرة ويربطه بنظيره البعيد، فيكفيك لاحقاً الأمر push وحده.
git push --tagsيرفع كل الوسوم المحلية إلى المستودع البعيد.
التراجع وإصلاح الأخطاء
الأخطاء واردة، وGit يوفّر طرقاً للتراجع عنها بحسب المرحلة التي وصلت إليها.
git restore <file>يتراجع عن تعديلاتك غير المحفوظة في ملف ويعيده إلى آخر إيداع. تنبيه: لا يمكن استرجاع التعديلات التي تراجعت عنها.
git restore --staged <file>يُخرج ملفاً من منطقة التجهيز مع إبقاء تعديلاته في مجلد العمل.
git revert <commit>ينشئ إيداعاً جديداً يعكس أثر إيداع سابق دون المساس بالتاريخ، وهو الخيار الآمن للتراجع بعد الرفع.
git reset --soft HEAD~1يلغي الإيداع الأخير ويُبقي تعديلاته جاهزة في منطقة التجهيز لتعيد إيداعها.
git reset --hard <commit>يعيد الفرع ومجلد العمل إلى إيداع محدّد، ويحذف كل ما بعده من تعديلات. أمر مدمِّر: لا تستخدمه إلا إن كنت متأكداً.
تحذير: أمر مدمِّر لا يمكن التراجع عنه
git stashيحفظ تعديلاتك الحالية مؤقتاً ويعيد مجلد العمل نظيفاً، وهو مفيد عند الانتقال العاجل إلى فرع آخر.
git stash popيسترجع آخر تعديلات حفظتها بالأمر stash ويطبّقها على مجلد العمل.
git reflogيعرض سجل تنقّلات HEAD بما فيها الإيداعات التي بدت محذوفة، فيساعدك على استعادة عملك بعد خطأ في reset أو rebase.
نصائح لرسائل إيداع واضحة
رسالة الإيداع هي ما سيقرؤه زملاؤك، وستقرؤه أنت بعد ستة أشهر، لفهم سبب التغيير. بضعة عادات بسيطة تصنع الفرق.
ابدأ بفعل في صيغة الأمر أو المصدر
اكتب «أضف» و«أصلح» و«حدّث» بدل «تمت إضافة»، فالرسالة تصف ما يفعله الإيداع حين يُطبَّق.
اجعل السطر الأول قصيراً
يكفي نحو خمسين حرفاً تلخّص التغيير في جملة واحدة، فهو ما يظهر في القوائم والسجلات.
اشرح «لماذا» في المتن
اترك سطراً فارغاً ثم اشرح دافع التغيير، فالشيفرة نفسها تُظهر «ماذا» تغيّر.
إيداع واحد لكل تغيير منطقي
لا تخلط إصلاحاً وميزة جديدة في إيداع واحد، ليسهل التراجع عنه ومراجعته.
الرسائل العربية مرحّب بها
يدعم Git وgitPasha الحروف العربية بالكامل، فاكتب رسائلك بالعربية إن كان فريقك يتحدثها.
مشروعك القادم يبدأ من هنا
انضم إلى مجتمع المطورين العرب على gitPasha، واحتفظ بشيفرتك على أرضك وبلغتك.