عزل مساحة العمل
كيف يفصل Verdent تغييرات الكود المتوازية باستخدام git worktrees
يفصل عزل مساحة العمل تغييرات الكود المتوازية على مستوى نظام الملفات باستخدام git worktrees. لكل مساحة عمل دليلها الخاص، وفرعها المسحوب، وملفاتها، وحالة staging الخاصة بها.
إنشاء مساحات العمل يدويًا غير متاح في واجهة Verdent Desktop الحالية. زر مساحة عمل جديدة واختصاره في لوحة المفاتيح وخيار تكرار إلى مساحة عمل جديدة مخفية. يؤدي تكرار رد إلى إنشاء المهمة الجديدة في مساحة العمل الحالية.
ما ستتعلمه
- كيف يمنع عزل مساحة العمل التعارضات
- كيف تتيح git worktrees العزل
- الفرق بين مساحة العمل الأساسية ومساحات العمل
- كيف تظهر مساحات العمل الحالية والمدارة بواسطة Verdent في الواجهة
- أفضل ممارسات إدارة مساحات العمل
ما هو عزل مساحة العمل؟
عندما يشغّل Verdent العمل في مساحات عمل منفصلة، لا تعدّل التغييرات من worktree واحد ملفات أو حالة staging في worktree آخر. هذا يجعل التنفيذ والمراجعة بالتوازي أكثر أمانًا.
كيف يعمل
| الطبقة | كيف تعمل |
|---|---|
| الدليل | كل مساحة عمل هي دليل معزول |
| الفرع | لكل مساحة عمل فرع مسحوب خاص بها |
| الملفات | تغييرات الملفات في مساحة عمل واحدة لا تؤثر في غيرها |
| Staging | لكل مساحة عمل منطقة staging خاصة بها |
الفوائد
انعدام التداخل
تبقى تغييرات الملفات في أدلة worktree منفصلة
تجربة آمنة
جرّب تغييرات محفوفة بالمخاطر دون التأثير في الكود المستقر
مقارنة واضحة
استخدم git diff لمقارنة الأساليب عبر مساحات العمل
إعادة تأسيس انتقائية
أعد تأسيس النتائج التي تثق بها فقط
مساحة العمل الأساسية مقابل مساحات العمل
مساحة العمل الأساسية
مساحة العمل الأساسية هي نسخة المستودع الأصلية لديك، وتعمل كنقطة بداية افتراضية.
| الخاصية | الوصف |
|---|---|
| الموقع | موقع git clone أو git init الأصلي لديك |
| الفرع الأساسي | يكون عادة على main أو فرع التطوير |
| نقطة مرجعية | مصدر لمقارنة العمل التجريبي |
متى تستخدم Base:
- تغييرات سريعة لا تحتاج إلى عزل
- نقطة مرجعية لمقارنة العمل التجريبي
- عندما تريد أن تذهب التغييرات مباشرة إلى الفرع الرئيسي
- مهام بسيطة لا تحتاج إلى تنفيذ متواز
مساحة العمل
مساحة العمل هي بيئة عمل معزولة تُنشأ باستخدام git worktrees، ولها فرع مسحوب وحالة ملفات مستقلان خاصان بها.
يمكن أن يستخدم Verdent مساحة عمل عندما يحتاج سير عمل مدعوم إلى تغييرات كود معزولة. تبقى مساحات العمل الحالية مرتبطة بمشروعها ويمكن أن تحتوي على عدة مهام.
العمل مع مساحات العمل الحالية
تبقى مساحات العمل التي تنتمي بالفعل إلى مشروع مجمّعة مع ذلك المشروع في لوحة المشاريع. حدد مساحة عمل لعرض مهامها وحالة ملفاتها.
- تشارك المهام داخل مساحة العمل نفسها ملفاتها، لكنها تحتفظ بسياق محادثة منفصل.
- يؤدي الانتقال إلى مساحة عمل أخرى إلى تغيير سياق worktree والفرع النشطين.
- يؤدي تكرار رد إلى إبقاء المهمة المكررة في مساحة العمل الحالية.
- احذف مساحة العمل فقط بعد commit أو rebase أو حفظ العمل الذي تحتاجه بطريقة أخرى.
إعادة تأسيس تغييرات مساحة العمل
عندما تكون جاهزًا لدمج تغييرات مساحة العمل مرة أخرى في الفرع الرئيسي:
استخدام واجهة Verdent
إكمال العمل
أكمل العمل في مساحة العمل
مراجعة التغييرات
حدد تغييرات المهمة في اللوحة الوسطى لمراجعة كل التعديلات
إعادة التأسيس إلى الفرع الرئيسي
حدد إجراءات مساحة العمل ← إعادة التأسيس إلى الفرع الرئيسي في شريط مساحة العمل
حل التعارضات
حل أي تعارضات إذا طُلب منك ذلك
التحقق
راجع التغييرات قبل التأكيد
إبقاء مساحات العمل محدثة
استخدم إجراءات مساحة العمل ← المزامنة مع الفرع الرئيسي لجلب أحدث التغييرات من الفرع الرئيسي إلى مساحة عملك. يساعد ذلك على منع التعارضات الكبيرة عند إعادة التأسيس.
أفضل الممارسات
صيانة مساحة العمل
| الممارسة | السبب |
|---|---|
| احذف مساحات العمل التي أُعيد تأسيسها | تحرير مساحة على القرص |
| أزل التجارب المتروكة | إبقاء قائمة مساحات العمل سهلة الإدارة |
| حافظ على عدد معقول من مساحات العمل | موارد النظام محدودة |
نظافة Git
| الممارسة | السبب |
|---|---|
| نفّذ commit بشكل متكرر | نفّذ commit للعمل قيد التقدم قبل الانتقال |
| استخدم commits صغيرة | يسهل تنفيذ cherry-pick للـ commits الأصغر |
| زامن مع الأساس بانتظام | لا تدع مساحات العمل تبتعد كثيرًا عن الفرع الرئيسي |
| قلّل تعقيد التعارضات | يمنع الدمج المنتظم التعارضات الكبيرة |
الأسئلة الشائعة
ما مقدار مساحة القرص التي تستخدمها كل مساحة عمل؟
تكرّر كل مساحة عمل ملفات العمل، لكنها تشارك دليل .git. يساوي استخدام المساحة تقريبًا حجم مشروعك لكل مساحة عمل. ستستخدم المشاريع الكبيرة ذات مساحات العمل المتوازية العديدة مساحة كبيرة على القرص.
هل يمكنني حذف مساحة عمل؟
نعم. احذف مساحة العمل من خلال Verdent. يزيل هذا الدليل، لكنه يحافظ على أي عمل تم تنفيذ commit له على الفرع.
كيف أنشئ مساحة عمل جديدة؟
الإنشاء اليدوي غير متاح في واجهة Desktop الحالية. إدخال مساحة عمل جديدة والاختصار مخفيان. لا يزال بإمكان Verdent استخدام مساحات العمل داخليًا لسير العمل المعزول المدعوم.
ماذا يحدث للتغييرات غير الملتزم بها إذا حذفت مساحة عمل؟
تُفقد التغييرات غير الملتزم بها عند حذف مساحة عمل. نفّذ commit أو stash للتغييرات دائمًا قبل إزالة مساحة عمل.
هل يمكنني تحويل مساحة عمل إلى مساحة العمل الأساسية؟
لا يوجد تحويل مباشر، لكن يمكنك إعادة تأسيس كل التغييرات من مساحة العمل إلى الفرع الرئيسي، ثم حذف مساحة العمل. يتم الحفاظ على سجل الفرع.
هل تعمل worktrees مع كل خدمات استضافة git؟
نعم. worktrees في Git ميزة قياسية في git. تعمل مع GitHub وGitLab وBitbucket وأي خدمة استضافة git أخرى.