🔀 مرجع أوامر Git بالعربي
كل أمر Git أساسي بالعربي: ماذا يفعل، صياغته، أهم خياراته، مثال يوضّحه، وأشهر الأخطاء — أداة سطر أوامر فلا يوجد تشغيل حي في المتصفح. حاليًا 19 أمر — والقائمة تكبر.
الأساسيات
git init
إنشاء مستودع جديد
git init يحوّل مجلّدًا عاديًا على جهازك إلى مستودع Git جديد وفارغ، جاهز لتتبّع التغييرات.
git clone
نسخ مستودع موجود
git clone ينسخ مستودعًا كاملًا (بكل تاريخه وفروعه) من رابط بعيد إلى جهازك، وينشئ الربط بالمصدر تلقائيًا.
git add
تجهيز التغييرات للحفظ
git add ينقل تعديلات الملفّات من مجلّد العمل إلى منطقة التجهيز (staging)، تمهيدًا لتضمينها في commit.
git commit
حفظ لقطة من المشروع
git commit يحفظ كل ما في منطقة التجهيز كنقطة دائمة في تاريخ المشروع، برسالة توضّح ماذا ولماذا.
git status
عرض حالة المستودع الحالية
git status يعرض الفرع الحالي، وحالة كل ملف: غير متتبَّع، معدَّل، أو مجهَّز للحفظ.
الفروع والدمج
git branch
إنشاء الفروع وإدارتها
git branch ينشئ فروعًا جديدة ويعرضها ويحذفها — خط عمل مستقل يتيح تطوير ميزة دون التأثير على main.
git merge
دمج فرع في فرع آخر
git merge يدمج تاريخ فرع في فرعك الحالي، ويحافظ على التاريخ الحقيقي كاملًا كما حدث فعليًا.
git rebase
إعادة بناء تاريخ خطّي
git rebase ينقل commits فرعك ليبدأ من أحدث نقطة في فرع آخر، فيُنتج تاريخًا خطّيًا نظيفًا بلا commits دمج.
git history fixup
دمج تعديل في commit سابق مباشرة (تجريبي)
أمر تجريبي جديد في Git 2.55 يطبّق التعديلات المجهّزة حاليًا مباشرة على commit سابق محدَّد، كبديل أسرع من commit --fixup مع rebase --autosquash.
git checkout -m
التبديل الآمن بين الفروع مع تعديلات محلّية
منذ Git 2.55، خيار -m في git checkout يحفظ تعديلاتك المحلّية تلقائيًا كـ stash عند حدوث تعارض، بدل إعطائك فرصة واحدة فقط لحلّه.
التاريخ والفحص
git log
تصفّح تاريخ الـ commits
git log يعرض سجلّ الـ commits على الفرع الحالي: من كتبها ومتى ورسالتها، بأشكال عرض متعدّدة.
git diff
مقارنة التغييرات سطرًا بسطر
git diff يعرض الفرق الدقيق سطرًا بسطر بين نسختين — مجلّد العمل والتجهيز، أو بين أي commitين.
git log --graph-lane-limit
تحديد عرض الرسم البياني للفروع
خيار جديد في Git 2.55 يحدّ عدد "ممرّات" الرسم البياني التي يعرضها --graph، فيمنع تمدّد الأسطر أفقيًا في تاريخ فيه فروع كثيرة متوازية.
git log --max-count-oldest
عرض أقدم Commits بدل أحدثها
خيار جديد في Git 2.55 لـ log وrev-list يعرض أقدم عدد محدّد من الـ commits ضمن نطاق معيّن، بدل الأحدث كالعادة.
العمل مع الفريق
git push
رفع commits إلى مستودع بعيد
git push يرسل commits فرعك المحلّي إلى مستودع بعيد مثل GitHub، ليصبح متاحًا لباقي الفريق.
git pull
سحب ودمج التحديثات البعيدة
git pull يجلب أحدث commits من المستودع البعيد ويدمجها مباشرة في فرعك المحلّي — اختصار لـ fetch ثم merge.
git push (remote groups)
دفع لعدّة مستودعات بعيدة دفعة واحدة
بدءًا من Git 2.55، يقبل git push اسم مجموعة remotes معرّفة في الإعدادات، فيدفع الفرع لكل عضو فيها بأمر واحد بدل تكرار push لكل مستودع على حدة.
أدوات مساعدة
git stash
حفظ التغييرات مؤقّتًا
git stash يخبّئ تعديلاتك غير المكتملة جانبًا مؤقّتًا، ليعيد مجلّد العمل نظيفًا للتبديل السريع بين المهام.
hook.<name>.parallel
تشغيل الخطافات بالتوازي
منذ Git 2.55، الخطافات المعرَّفة عبر الإعدادات (hook.<اسم>) يمكن تشغيلها بالتوازي بدل التتابع، لتسريع فحوصات pre-push ونحوها.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار GIT الكامل بالعربي.