Git وGitHub / المتوسط: إدارة التغيير التعاوني / الدرس 11
العكس وreset واختيار التراجع المناسب
اختر التصحيح بحسب الحالة المعدلة واعتماد الزملاء على التاريخ.
في هذه الصفحة
أهداف الدرس
- ميّز إيداع العكس من تحريك المراجع والملفات.
- احفظ النسب المشترك والعمل المحلي أثناء التصحيح.
سمِّ الحالة التي تريد تغييرها
ليس التراجع عملية واحدة؛ قد تريد إزالة الترحيل أو إتلاف تعديل أو تحريك خاص أو استبدال غير منشور أو عكس منشور. لكل حالة ومخاطر. ابدأ بالحالة والرسم وحد المشاركة واحفظ المهم غير المودع قبل الاستبدال. لا تستنتج الأمان لشيوع الأمر. اسأل ما يجب بقاء الوصول إليه وما يراه الزملاء بعد التصحيح.
صحح المشترك بإيداع جديد
يحسب git revert تغييراً عكسياً ويسجله جديداً ويبقى الأصل لشرح الحدث. يلائم المشترك غالباً وقد يتعارض أو يحتاج تكييفاً لاعتماد اللاحق. يعكس المثال آخر إيداع عادي بفرع مؤقت نظيف ولا يرجع الفرع للخلف. اختبر النتيجة وراجع حذف مطلوب حالياً. النجاح نتيجة نص لا ضمان تعاف منتج.
git -c user.name="Lab Author" -c user.email="lab@example.invalid" revert --no-edit HEAD
git log -2 --format=%s
يتطلب مختبراً نظيفاً وإيداعاً عادياً مقصوداً. يظهر عنوان Revert جديد ثم الأصلي وقد يعتمد الاقتباس على الرسالة. يبقى الإيداعان قابلين للوصول.
اقرأ reset بأثره على الوجهات
بصيغة تحريك الإيداع يحرك reset الفرع ويحدث الفهرس أو الشجرة بحسب النمط. يحرك --soft الفرع ويتركهما، ويعيد mixed الفهرس أيضاً، وقد يستبدل --hard المتتبع ويزيل غير المتتبع المعوق. تختلف صيغة المسار ولا تحرك الفرع. تهم الفروق أكثر من كلمة تراجع. تبقى المدمرة أمثلة غير مشغلة بالمشروع. يحفظ مرجع التعافي الإيداع لا المحتوى غير المودع تلقائياً.
افحص soft reset خاصاً دون إتلاف الملفات
يفترض المثال إيداعين نظيفين بفرع خاص مؤقت ويحفظ مرجع أمان. يرجع --soft أباً ويترك محتوى الرأس السابق مرحلاً نسبة للأسبق. يفيد تنظيم غير المنشور لكنه يكتب تاريخ الفرع ولا يطبق عابراً على المشترك. افحص المرحل والفرع. تحتاج حالة غير مودعة سابقة تفكيراً إضافياً فاجعل الإعداد نظيفاً.
git branch safety/before-soft-reset
git reset --soft HEAD~1
git diff --cached --name-only
git rev-parse --verify safety/before-soft-reset
يتحرك فرع المختبر فقط. تضم قائمة المرحل مسارات آخر إيداع ويشير الأمان للرأس الأصلي. المعرّف مولد ولا ينفذ hard reset أو تحديث مشترك فعلي.
عامل عكس الدمج قرار رسم
يحتاج عكس الدمج اختيار الأب الرئيسي لمعرفة التغيير المعكوس ولا يمحو الدمج من النسب. تستخدم الدمجات التالية الرسم وقد لا تعيد التغييرات لمجرد عكس المحتوى. راجع الآباء والتكامل المقبل والاختبار مع الصيانة. والتسريب حالة مستقلة؛ لا يبطل الحذف أو العكس الاعتماد ولا النسخ التاريخية. اتبع استجابة المالك وخطة تنظيف مفوضة عند الحاجة.
الأخطاء الشائعة وإصلاحها
يرجع فرع مشترك فجأة
- لماذا يحدث؟
- طُبق reset الخاص على المنشور.
- كيف تصلحه؟
- احفظ المراجع ونسق التعافي والتصحيح.
- كيف تتجنب تكراره؟
- صنف المشاركة قبل التراجع.
لا يعيد فرع الأمان غير المودع
- لماذا يحدث؟
- اختلط الوصول للإيداع بنسخ الملفات.
- كيف تصلحه؟
- ابحث عن نسخ ملفات مستقلة واحفظ الحالي.
- كيف تتجنب تكراره؟
- احفظ غير المودع المهم قبل الإتلاف.
يُفترض أمان سر معكوس
- لماذا يحدث؟
- اختلط ظهور التاريخ بصلاحية الاعتماد.
- كيف تصلحه؟
- نفذ الإبطال واستجابة التسريب المفوضة.
- كيف تتجنب تكراره؟
- امنع الأسرار وراجع المرحل.
اختبر فهمك
1. يحتاج عيب منشور تصحيحاً مع حفظ النسب. ما البداية المناسبة؟
اعرض الحل المشروح
يحفظ تصحيح جديد أو عكس مراجع المشترك عادة. افحص الاعتماد واختبر. قد يعطل تحريك الرأس الزملاء ولا يبرره قصر reset.
2. أين محتوى آخر إيداع بعد soft reset خاص نظيف؟
اعرض الحل المشروح
يبقى بالفهرس والشجرة مرحلاً نسبة لـ HEAD الأسبق ويصل الأمان للقديم. تحقق من الحالتين قبل التنظيم.
أهم ما تعلمته
- اختر التراجع بالحالة والمشاركة والتعافي.
- يضيف العكس تاريخاً وقد يحرك reset المراجع والملفات.
- لا يضمن تعافي الإيداع استرداد غير المودع.