معظم أخطاء جيت الشائعة وكيفية إصلاحها

الصورة من ايليا بافلوف على Unsplash

إذا كنت تعمل في مشروع كبير مع العديد من المتعاونين ، فمن الواضح أنك تستخدم Git كنظام تحكم. وعندما تعمل مع شيء معقد مثل Git ، فنحن جميعًا نرتكب أخطاء. في هذه المقالة ، سأناقش بعض الأخطاء الشائعة جدًا التي ارتكبها المبرمجون أثناء استخدام Git وكيفية حلها. الآن ، دون أي مزيد من اللغط ، لنبدأ

تهجئة آخر رسالة ارتكاب خطأ

بعد بضع ساعات جيدة من الترميز ، من السهل أن يتسلل الخطأ الإملائي إلى رسائل الالتزام. لحسن الحظ ، هناك حل بسيط.

بوابة ارتكاب - تعديل

سيؤدي هذا إلى فتح محررك ويسمح لك بإجراء تغيير على رسالة الالتزام الأخيرة. لا يحتاج أي شخص أن يعرف أنك مكتوبة ، "الالتزام الأولي" مع ثلاثة "م".

خطأ إملائي في اسم الفرع

لنفترض أن الساعة 15:00 تقريبًا ولم تتناول طعام الغداء بعد ، لذلك في جوعك ، قمت بتسمية غداء فرع جديد. لذيذ.

هناك حل لهذا أيضًا. نعيد تسمية هذا الفرع بطريقة مشابهة لكيفية إعادة تسمية ملف باستخدام الأمر mv: بنقله إلى موقع جديد بالاسم الصحيح.

بوابة فرع-م ميزة برنش ميزة-فرع

إذا كنت قد دفعت هذا الفرع بالفعل ، فهناك بضع خطوات إضافية مطلوبة. نحتاج إلى حذف الفرع القديم من جهاز التحكم عن بُعد ودفع الفرع الجديد إلى الأعلى:

بوابة دفع أصل - حذف ميزة الغداء
بوابة دفع أصل ميزة فرع

ارتكبت بطريق الخطأ جميع التغييرات على الفرع الرئيسي

لذلك أنت تعمل على ميزة جديدة وبسرعة ، نسيت أن تفتح فرعًا جديدًا لها. لقد سبق لك أن ارتكبت الكثير من الملفات والآن أصبحت جميع هذه الالتزامات موجودة على الفرع الرئيسي.

حتى نتمكن من استعادة كل هذه التغييرات إلى فرع جديد باستخدام الأوامر الثلاثة التالية:

ملاحظة: تأكد من الالتزام بالتعديلات أو إيقافها أولاً ، وإلا فستفقد كل شيء!

بوابة فرع ميزة فرع
git reset HEAD ~ - hard
بوابة الخروج ميزة الفروع

يؤدي هذا إلى إنشاء فرع جديد ، ثم إرجاع الفرع الرئيسي إلى ما كان عليه قبل إجراء التغييرات ، قبل التحقق أخيرًا من الفرع الجديد الخاص بك بكل التغييرات السابقة.

نسيت إضافة ملف إلى هذا الالتزام الأخير

آخر حفرة مشتركة جيت يرتكب في وقت مبكر جدا. فاتتك ملف ، أو نسيت حفظه ، أو تحتاج إلى إجراء تغيير بسيط حتى يكون الالتزام الأخير منطقيًا. - تعديل صديقك مرة أخرى.

أضف هذا الملف المفقود ثم قم بتشغيل الأمر الموثوق.

git add missed-file.txt
بوابة ارتكاب - تعديل

في هذه المرحلة ، يمكنك إما تعديل رسالة الالتزام أو حفظها لإبقائها كما هي.

إضافة ملف خاطئ في الريبو

ولكن ماذا لو كنت تفعل العكس تماما؟ ماذا لو قمت بإضافة ملف لم ترغب في الالتزام به؟ ملف ENV المارقة ، دليل بناء ، صورة لكلبك الذي قمت بحفظه عن طريق الخطأ في المجلد الخطأ؟ كل شيء قابل للحل.

إذا كان كل ما فعلته هو تشغيل الملف ولم تلتزم به بعد ، فسيكون الأمر بسيطًا مثل إعادة تعيين الملف المرحلي:

git reset /assets/img/misty-and-pepper.jpg

إذا ذهبت إلى حد ارتكاب هذا التغيير ، فلا داعي للقلق. تحتاج فقط إلى تشغيل خطوة إضافية قبل:

بوابة إعادة تعيين - رئيس لينة ~ 1
git reset /assets/img/misty-and-pepper.jpg
rm /assets/img/misty-and-pepper.jpg
بوابة ارتكاب

سيؤدي هذا إلى التراجع عن الالتزام ، وإزالة الصورة ، ثم إضافة التزام جديد في مكانه.

أووه لقد فعلتها ثانية

هذا الأمر هو عندما يكون كل شيء خطأ. عندما تكون قد قمت بلصق نسخة واحدة من حلول كثيرة للغاية من Stack Overflow و repo في حالة أسوأ مما كانت عليه عندما بدأت. لقد كنا جميعا هناك.

git reflog يعرض لك قائمة بجميع الأشياء التي قمت بها. ثم يسمح لك باستخدام مهارات Git السحرية في السفر عبر الزمن للعودة إلى أي نقطة في الماضي. أود أن أشير إلى أن هذا هو الملاذ الأخير ولا ينبغي استخدامه باستخفاف. للحصول على هذه القائمة ، اكتب:

بوابة reflog

في كل خطوة اتخذناها ، كل خطوة اتخذناها ، كان جيت يراقبنا. تشغيل هذا على مشروعنا يعطينا هذا:

3ff8691 (HEAD -> feature-branch) HEAD @ {0}: الفرع: أعيدت تسميته refs / heads / feature-brunch إلى refs / heads / branch-branch
3ff8691 (HEAD -> feature-branch) HEAD @ {2}: تسجيل الخروج: الانتقال من الرئيسي إلى المميزات المتأخرة
2b7e508 (رئيسي) HEAD @ {3}: إعادة الضبط: الانتقال إلى HEAD ~
3ff8691 (HEAD -> feature-branch) HEAD @ {4}: الالتزام: إضافة شعار العميل
2b7e508 (رئيسي) HEAD @ {5}: إعادة الضبط: الانتقال إلى HEAD ~ 1
37a632d HEAD @ {6}: الالتزام: يضيف شعار العميل إلى المشروع
2b7e508 (رئيسي) HEAD @ {7}: إعادة الضبط: الانتقال إلى HEAD
2b7e508 (master) HEAD @ {8}: الالتزام (تعديل): تمت إضافة معلومات المساهمة إلى الموقع
dfa27a2 HEAD @ {9}: إعادة الضبط: الانتقال إلى HEAD
dfa27a2 HEAD @ {10}: الالتزام (تعديل): تمت إضافة معلومات المساهمة إلى الموقع
700d0b5 HEAD @ {11}: الالتزام: تمت إضافة معلومات المساهمة إلى الموقع
efba795 HEAD @ {12}: الالتزام (الأولي): الالتزام الأولي

لاحظ العمود الموجود في أقصى اليسار ، لأن هذا هو الفهرس. إذا كنت ترغب في الرجوع إلى أي نقطة في السجل ، فقم بتشغيل الأمر أدناه ، واستبدل {index} بهذا المرجع ، على سبيل المثال dfa27a2.

git reset HEAD @ {index}

لديك بعض النصائح جيت الخاصة بك؟ أخبرنا في التعليقات أدناه ، أحب أن أسمعها.

شكرا للقراءة! إذا وجدت هذا مفيدًا ، فلا تنس أن تترك بعض التصفيقات. شارك هذا مع أصدقائك ومتابعيك! تويت لي في iAnkurBiswas واسمحوا لي أن أعرف كيف أعجبك هذا المقال!