git checkout -m
التبديل الآمن بين الفروع مع تعديلات محلّية git checkout -m
منذ Git 2.55، خيار -m في git checkout يحفظ تعديلاتك المحلّية تلقائيًا كـ stash عند حدوث تعارض، بدل إعطائك فرصة واحدة فقط لحلّه.
git checkout -m <فرع> يبدّل الفرع محاولًا الحفاظ على تعديلاتك المحلّية غير المجهّزة إن تداخلت مع الفرع الهدف. سابقًا، لو نتج تعارض عن هذا الدمج التلقائي، كانت لديك فرصة واحدة فقط لحلّه فورًا. من Git 2.55، تُحفظ التعديلات المتعارضة تلقائيًا كـ stash، فتقدر تحلّها فورًا وتحذف الـ stash بـ stash drop، أو تتراجع بـ reset --hard وتسترجعها لاحقًا بـ stash pop براحتك.
الصياغة
git checkout -m <فرع-الهدف>
📄 مثال
git checkout -m feature-x # عند تعارض: تُحفظ تعديلاتك المحلية كـ stash تلقائيًا git stash pop # لاسترجاعها لاحقًا لو أجّلت الحلّ
أهم الخيارات
| الخيار | الوظيفة |
|---|---|
| -m / --merge | يحاول دمج التعديلات المحلّية مع الفرع الهدف عند التبديل؛ من 2.55 يحفظها كـ stash تلقائيًا عند التعارض |
💡 نصائح عملية
- لو لم ترد حلّ التعارض فورًا، استخدم git reset --hard ثم git stash pop لاحقًا بدل القلق على فقدان العمل
⚠️ أخطاء شائعة
- الظن أن فوات فرصة حلّ التعارض يعني فقدان التعديلات — من 2.55 تبقى محفوظة في stash
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار GIT الكامل بالعربي.