reset و revert
التراجع الآمن والخطر: reset HEAD~1 و reset --hard و git revert.
تطبيق مباشر: افتح مختبر Git التفاعلي وجرّب الأوامر المرتبطة بهذا الدرس.
reset HEAD~1
git reset HEAD~1يرجع HEAD خطوة للخلف. غالبًا يبقي التعديلات في الملفات أو يخرجها من staging حسب الصيغة.reset --hard
git reset --hard HEAD~1أمر خطر لأنه يحذف التعديلات غير المحفوظة ويجعل المشروع مطابقًا للنقطة المحددة.git revert
git revert a1b2c3dلا يحذف التاريخ، بل ينشئ commit جديدًا يعكس أثر commit سابق. لذلك هو أكثر أمانًا في المشاريع المشتركة.الفرق المختصر
reset يغيّر المؤشر وقد يمحو عملًا. revert يحافظ على التاريخ ويضيف عكس التغيير.
متى أستخدم ماذا؟
استخدم restore لتعديل غير محفوظ، reset لتجاربك المحلية، revert لإلغاء تغيير منشور على GitHub.
الخلاصة: اربط الأمر دائمًا بمكان التغيير: Working Directory، Staging Area، Commit History، أو GitHub Remote.