Git worktree: أصلح خطأً في مجلد ثانٍ دون خلط عملك الجاري
مثال محلي صغير لإنشاء فرع إصلاح في مجلد مستقل، مع توضيح ما يشاركه المجلدان وما يحتاج تجهيزًا منفصلًا.

تعمل على ميزة لم تكتمل، ثم يأتي إصلاح صغير لا يحتمل الانتظار. يمكن لـgit worktree فتح فرع آخر في مجلد مستقل، مع بقاء ملفات الميزة في مكانها. هذا أنسب من خلط التعديلين في نسخة العمل نفسها.
مثال تبدأه من مستودعك
افحص git status أولًا واعرف الفرع الذي يجب أن ينطلق منه الإصلاح. المثال التالي ينطلق من HEAD الحالي؛ إن كان الإصلاح يجب أن يبدأ من فرع إصدار محدد، استخدم مرجعه الصحيح بدل HEAD. اختر اسم مجلد جديدًا غير موجود.
git status --short git worktree add -b quick-fix ../project-quick-fix HEAD git -C ../project-quick-fix status --short git worktree list
ما المشترك وما المستقل؟
يشترك المجلدان في كائنات Git والفروع، ولكل منهما ملفاته وفهرسه وHEAD الخاص. تبقى الاعتماديات والبيئة المحلية محتاجة تجهيزًا مناسبًا داخل المجلد الجديد؛ لا تنسخ أسرار مشروعك إليه تلقائيًا، ولا تفترض أن قاعدة بيانات التطوير أصبحت مستقلة لمجرد استقلال الملفات.

أكمل الإصلاح ثم راجعه
اختبر التعديل وسجله في فرع quick-fix، ثم ادمجه أو افتح مراجعته وفق طريقة فريقك. افتح كل طرفية باسم المجلد المقصود حتى لا تنفذ أمرًا في النسخة الخطأ. يمنع Git عادة فتح الفرع نفسه في شجرتي عمل في الوقت ذاته؛ لا تتجاوز ذلك لمجرد اختصار خطوة.
التنظيف بعد حفظ العمل
بعد التأكد من حفظ الملفات وعدم حاجتك للمجلد، استخدم git worktree remove مع مساره. لا تستخدم --force لإخفاء تغييرات لم تراجعها. المثال تعليمي؛ لم نعدل مستودعك أو قواعد بياناتك بتنفيذ هذه الأوامر.
المصادر والمراجع
دليل أصلي من B52؛ راجع الروابط للمعلومات المرجعية.


