كيفية استعادة GIT بعد خطأ نظام الملفات الفادح؟
سؤال
ما هو أسرع طريق لاستعادة مستودع GIT بعد خطأ في نظام الملفات على الخادم الرئيسي؟
تخيل فشل الخادم المركزي لمشروع OSS الخاص بك وفقد كل يرتكب لمدة يومين بعد الاستعادة. كيف تحصل على العائدين؟ هل يكفي فقط لاستدعاء "دفعة جيت" على جميع العملاء؟ أم هل هناك شيء آخر يجب أن أحمل في الاعتبار؟
المحلول
كل مستودع هو أيضا نسخة احتياطية من "المستودع الرئيسي" (وهي "الرئيسية" من خلال الاتفاقية فقط) لذا git push
من المستودع الذي فعل أحدث git fetch
أو git pull
يجب أن يكون كل ما يلاحظه إلى حالته، بالطبع. لا تحتاج فقط إلى رعاية السنانير، ولكن إذا قلت أنه فقط في آخر يومين آخرين من ارتكاب ارتكابهم ربما لم يتضرروا على أي حال.
نصائح أخرى
أ git pull
ثم أ git push
يبنغي أن يكون كافيا.
بالتناوب أ git push -f
سيتم تحديث الخادم القسري مع نسختك المحلية، ولكن هذا يمكن أن يسبب مشاكل للآخرين (إذا كان هناك ملززات متعددة).
أخبرنا إذا واجهت أي مشاكل أو أخطاء أخرى.
أعتقد أنه قد يكون من الأفضل إنشاء ريبو جديد على الخادم:
% ssh user@server
% mv /path/to/repo /path/to/repo.old
% mkdir /path/to/repo
% cd /path/to/repo
% git init --bare
ثم اضغط من كل الحيوانات المستنسخة المختلفة التي لديك. تفكيري هو أن هذا من شأنه أن يتجنب أي ملفات فاسدة قد تكون في الريبو القديم، ويجب أن يكون هناك خسارة على الإطلاق، شريطةكم جميعا بالعمل على الحيوانات المستنسخة الخاصة بك، ولا أحد يعزز في ريبو الخادم.