أحد المشاكل التي واجهتني هي عندما أضفت ملفات كبيرة جدًا لمشروع على git.. وحاولت استرجاع هذه الملفات عن طريق git revert إلا أنني “خبّصت” في المشروع وهذا أدى إلى حفظ هذه الملفات في git history.
كان قد مرت قرابة عشرة أيام دون رفع أي شيء إلى المستودع ال GitHub وكنت متأخرا في العمل.
وعندما أردت رفع التغييرات الجديدة كان حجمها قرابة 2.4 جيجا بايت!! ومع وجود الإنترنت السيء عندنا تتضاعف المشكلة…
وجدت الحل بفضل مساعدة الصديق معاذ السوادي جزاه الله خيرًا.
الحل كالتالي:
- عمل fork لكود الGitHub احتياطا لأي مشكلة.
- عمل نسخة احتياطية من الكود الموجود على الجهاز محليا.
- إظهار الملفات المخفية في اللاب توب.
- تنزيل الكود من GitHub من جديد.
- حذف كل محتوى المستودع البرمجي الذي تم تنزيله من GitHub (ما عدا مجلد .git) يشمل الحذف حتى الملفات المخفية.
- نسخ كل محتوى الGitHub على المستودع المحلي (الذي هو يعمل جيدا بالتحديثات لكن لديه git history ضخم جدا)، نسخ كل محتوى هذا المجلد بما فيه الملفات المخفية (ما عدا مجلد .git) إلى مجلد المستودع الذي تم تنزيله من GitHub.
- الآن لدينا الكود المحدّث من الشغل المحلي مع ال git الآتي من الكود المنزل من GitHub.
- نفتح المستودع بالمحرر وليكن VS Code.
- ستظهر العديد من التغييرات بسبب الحذف من المستودع الأول وإضافة محتوى الثاني.. أضف هذه التغييرات إلى git stage.
- سترى الآن فقط التغييرات للكود الذي أنشأته من الشغل الأخير قبل الرفع إلى GitHub.
- أضف التغييرات إلى ال git كما تعمل اعتياديا.
ومبارك عليك الآن. يمكنك مواصلة العمل دون أرق!
إذا كان لديكم حلول لمثل هذه المشاكل فأرجو مشاركتها لأنها قد تفيد أحدا ما..