7 سبتمبر 2026
هل تعرف Git؟ بالطبع تعرف! اليوم، لديّ بعض أوامر Git المفضلة لديّ لـ...

يتعلم معظم المطورين Git عن ظهر قلب—clone، add، commit، push—ثم يقضون أشهرًا أو سنوات يتعثرون في سير عملهم دون أن يدركوا كم من الوقت يتركونه على الطاولة. إذا كنت يومًا فقدت commit، أو خضت صراعات مع تعارضات الدمج، أو قضيت ساعات في تتبع regression، فكنت تعرف أن بعض أوامر Git الموضعية جيدًا يمكن أن تعني الفرق بين بعد عمل مُثمر وبين يوم مُحبط. إليك بعض الأوامر التي، بمجرد أن تستوعبها، تصبح أجزاء لا غنى عنها من أدواتك اليومية.
تخيّل الأمر: أنت في منتصف ميزة، مع نصف كود مكتوب على شاشتك، عندما يصل تقرير خطأ بالغ الأهمية إلى بريدك الوارد. تحتاج إلى التبديل بين الفروع الآن، لكنك لا تريد التزام عمل غير مكتمل. أدخل git stash. تشغيل git stash يُخبئ تغييراتك الحالية، تاركًا لك دليل عمل نظيف. عندما تكون جاهزًا للعودة، يسترجع git stash pop تلك التغييرات ويُزيلها من كومة التخزين المؤقت. إذا أردت الاحتفاظ بها لوقت لاحق، يتركك git stash apply تلك التغييرات في مكانها.
تصبح أمر التخزين المؤقت أقوى بكثير مع git stash -u، الذي يتضمن الملفات غير المتتبعة، أو git stash --keep-index، الذي يحافظ على التغييرات المرتّبة أثناء تخزين الباقي مؤقتًا. تتعامل هذه الأنواع مع سيناريوهات واقعية لا يستطيع الأمر الأساسي التعامل معها بمفرده.
من أكثر اللحظات إرهاقًا في Git هي أن تدرك أنك فقدت عملك—ربما أجرت إعادة تعيين قاسية، أو حذفت فرعًا بالخطأ. قبل أن تُصاب بالذعر، اتجه نحو git reflog. يُظهر لك هذا الأمر سجلًا لكل تحديث مرجعي في مستودعك، بما في ذلك الالتزامات التي لم تعد مرئية على أي فرع. من خلال العثور على تجزئة commit، يمكنك تسجيل الدخول أو إنشاء فرع يشير إليها، مما يستعيد عملك في ثوانٍ.
بنفس القدر من الفائدة في تصحيح الأخطاء هو git bisect. عندما تصطاد أي commit أدخل خطأً ما، يصبح التفتيش اليدوي غير ممكن في قواعد الأكواد الكبيرة. يقوم Bisect بإجراء بحث ثنائي، مع تسجيل الالتزامات تلقائيًا ويطلب منك اختبار كل واحدة. تُعلّم الالتزامات كجيدة أو سيئة، ويضيق Git نطاق الجاني في وقت لوغاريتمي. ما قد يستغرق ساعات يصبح مسألة دقائق.
يسمح لك git cherry-pick بتطبيق commit محدد من فرع على آخر، دون دمج الفرع بالكامل. هذا لا يُقدَّر بثمن عندما تكون قد أصلحت خطأً على فرع ميزة وتحتاج إلى هذا الإصلاح على main، أو عندما صاغت commit مثاليًا ينتمي إلى أماكن متعددة. الأمر بسيط: يقبل cherry-pick تجزئة commit ويطبّق تغييراتها على فرعك الحالي.
بالحديث عن الالتزامات، فإن git commit --amend هو أمر بسيط لكنه تحويلي. أخطأت في رسالة الالتزام الخاصة بك؟ نسيت إضافة ملف إلى المرحلة؟ يسمح لك Amend بتعديل آخر commit، باستبداله بالكامل. هذا يعيد كتابة السجل، لذا استخدمه فقط على الالتزامات التي لم تُدفع إلى الفروع المشتركة—لكن ضمن هذا القيد، إنه طريقة نظيفة للحفاظ على رسائل التزام دقيقة دون تشويه سجلك بـمتابعات "إصلاح خطأ مطبعي".
مخرجات git log الافتراضية عملية لكنها محدودة. تعلّم استخدام git log --oneline --graph --decorate --all لتصوير بنية فروعك بنظرة واحدة. يُضيّق إضافة --author أو --since النتائج على التاريخ ذي الصلة. تحوّل هذه الأعلام قائمة شفافة من الالتزامات إلى سرد مقروء لتطور مشروعك.
أخيرًا، عندما تحتاج إلى بداية جديدة، يُزيل git clean الملفات غير المتتبعة من دليل عملك. استخدم git clean -n أولًا لمعاينة ما سيتم حذفه، ثم git clean -f لإزالة الملفات فعليًا. اجمعه مع -d لتنظيف المجلدات أيضًا. إنه طريقة سريعة لإعادة تعيين مساحة العمل عندما تكون قد تراكمت لديك ملفات تجريبية لم تعد تحتاجها.
لمزيد من القراءة: https://dev.to/sylwia-lask/10-git-commands-youll-wish-you-knew-earlier-4fcp