لوحة Git
جهّز التغييرات وراجعها وأنشئ الالتزامات وادفعها بجانب الصدفة التي أنتجتها.
اضغط Cmd+Shift+G. تُفتح اللوحة على المستودع المرتبط بمشروعك؛ يوضح قسم مجلد المشروع كيف يختاره Zshell.
كل إجراء هنا هو أمر Git ينفذه Zshell نيابةً عنك، وتظهر مخرجاته عندما توجد معلومات أكثر من مجرد «اكتمل». لا تُعاد كتابة الالتزامات أو دمجها باستخدام squash أو دفعها قسريًا إلا إذا طلبت ذلك.
شريط أدوات Git
يمكن لـ Zshell عرض شريط أدوات صغير أسفل علامة التبويب النشطة. داخل المستودع، يعرض الفرع الحالي وإجمالي الأسطر المضافة والمحذوفة؛ وتظهر حالة نظيف باللون الأخضر إن لم تكن هناك تغييرات. تُحتسب الملفات غير المتتبعة ضمن الأسطر المضافة.
- انقر الفرع للبحث بين الفروع المحلية والتبديل إليها. يُميّز الفرع الافتراضي للمستودع في القائمة.
- انقر أعداد التغييرات لفتح لوحة Git.
- خارج المستودع، يُبقي وضع إظهار دائمًا زر لا يوجد مستودع Git لفتح حالة تهيئة المستودع في اللوحة.
اختر إخفاء أو تلقائي أو إظهار دائمًا في الإعدادات ← عام، أو اضبط toolbar.visibility. الإعداد الافتراضي هو الإخفاء. يمكنك أيضًا إخفاء الشريط المرئي من قائمته السياقية.
الملفات المعدلة
تُجمع الملفات ضمن التعارضات والتغييرات المجهّزة وغير المجهّزة. مرّر المؤشر على صف لإظهار أزراره، أو استخدم القائمة السياقية:
| الزر | الوظيفة |
|---|---|
| + | إضافة الملف إلى منطقة التجهيز |
| − | إزالة الملف من منطقة التجهيز |
| ↺ | تجاهل تعديلاته |
يوجد تجاهل جميع التغييرات في رأس اللوحة ويطلب تأكيدًا أولًا؛ فهو الإجراء هنا الذي لا يمكن التراجع عنه بأمر Git آخر.
تعرض الملفات المتعارضة وضع علامة محلول (إضافة إلى التجهيز) بدل زر التجهيز العادي، لتكون تسوية التعارض خطوة مقصودة.
يُصفّي زر القمع في الرأس القائمة حسب اسم الملف، وهي أسرع طريقة للتنقل في مجموعة تغييرات كبيرة.
قراءة الفروق
انقر أي ملف معدل لفتح فروقه في لوحة بجانب الطرفية، لا فوقها. تتيح القائمة السياقية أيضًا فتح الملف لفتح الملف نفسه بشكل قابل للتعديل، أو فتح الملف بجانب اللوحة.
تبقى الفروق الكبيرة سريعة الاستجابة. تُفتح مجموعة من ألف ملف بسرعة تغيير من سطر واحد، ويظل التمرير سلسًا.
تتذكر عناصر التحكم أعلى عرض الفروق خيارين على مستوى التطبيق:
- موحّد / مقسّم للتبديل بين عمود واحد وعرض جنبًا إلى جنب.
- يظهر مراجعة / تعديل للملف غير المجهّز في شجرة العمل الحالية. عدّل الجانب الجديد مباشرة واحفظ باستخدام Cmd+S؛ وتُعالج محاولة إغلاق ملف معدل كما في المحرر العادي.
تبقى الفروق المجهّزة وفروق الالتزامات التاريخية للقراءة فقط، لأنها لقطات وليست ملفات يمكن لـ Zshell كتابتها بأمان. يؤدي تحويل أحد العروض إلى تعديل أو مقسّم إلى تحديث تفضيل العروض المفتوحة الأخرى، دون جعل عرض غير مؤهل قابلًا للتعديل.
إنشاء الالتزامات
اكتب رسالة واستخدم زر الالتزام، أو اختر من قائمته:
- التزام التغييرات المجهّزة — تضمين ما جهّزته بالضبط؛
- تجهيز الكل وإنشاء التزام — تجهيز كل الملفات المتتبعة ثم الالتزام بها؛
- تعديل الالتزام الأخير — ضم التغييرات المجهّزة إلى الالتزام السابق؛
- تجهيز الكل وتعديل الالتزام الأخير.
تظهر الالتزامات الحديثة أدناه، مع نسخ معرّف الالتزام ونسخ رسالة الالتزام في قوائمها السياقية.
الفروع
اسم الفرع في الرأس هو قائمة؛ اختر فرعًا آخر للتبديل إليه، أو إنشاء فرع جديد… لبدء فرع من موقعك الحالي.
أشجار العمل
تعرض لوحة Git كل أشجار العمل التابعة للمستودع مع الفرع ومسار نسخة العمل. تُميّز النسخة النشطة بكلمة الحالي. انقر شجرة عمل لفتح علامة تبويب طرفية جديدة في ذلك المجلد، بحيث تحتفظ كل نسخة بسياق صدفتها وتبقى ضمن المشروع نفسه. تُمرّر قوائم أشجار العمل الطويلة داخل مساحة محددة، بينما يبقى رأس القسم وعناصر الالتزام وقائمة الملفات المعدلة في مكانها. انقر رأس أشجار العمل لطي القسم أو توسيعه.
تعرض أشجار العمل ذات HEAD المنفصل عبارة Detached HEAD بدل اسم الفرع. وتُدرج المستودعات المجردة للاستكمال، لكنها لا تملك مجلد عمل ولا يمكن فتحها في علامة تبويب طرفية.
جلسات شجرة العمل
من طرفية داخل مستودع Git محلي، اختر الطرفية → جلسة جديدة في شجرة عمل… أو اضغط Cmd+Opt+T. تتوفر العملية أيضًا في قائمتي السياق لعلامة التبويب وزر +. اختر فرعًا محليًا جديدًا أو موجودًا ومجلدًا غير موجود بعد. تبدأ الفروع الجديدة من الفرع الافتراضي للمستودع؛ ويمكن اختيار HEAD الحالي صراحةً. تحتفظ الفروع الموجودة بالتثبيت الحالي. يقع المجلد المقترح بجانب نسخة العمل المصدر.
ترث الأجزاء المقسمة ارتباط الجلسة بشجرة العمل، وتستعيده التخطيطات المحفوظة أيضًا. عند إغلاق جلسة مرتبطة، اختر الاحتفاظ بشجرة العمل أو إزالة شجرة العمل أو إلغاء. تتطلب الإزالة عدم وجود ملفات معدلة أو غير متتبعة أو متجاهلة، أو تثبيتات خارج المرجع المسجل، أو قفل، أو جلسات مفتوحة أخرى تستخدم نسخة العمل. يُحتفظ بفرع Git دائمًا.
يمكن للطرفية الخارجية إنشاء الجلسات وإغلاقها باستخدام zshell +session. استخدم مع --project معرّفًا تعيده projects؛ داخل Zshell يُستخدم مشروع الطرفية المستدعية تلقائيًا. تُنشأ الجلسات في الخلفية ما لم تضف --focus. يختار --base HEAD أو --base REF مرجعًا آخر، ويحدد --worktree NEW_DIR المجلد. يختار --connection FILE نسخة قيد التشغيل عند الحاجة. يحتفظ الإغلاق بشجرة العمل دون --remove-worktree صريح؛ وتوضح check ما إذا كان التنظيف آمنًا حاليًا.
zshell +session projects
zshell +session new --project PROJECT_ID --cwd /path/to/repo --branch feat/task
zshell +session list --project PROJECT_ID
zshell +session check --project PROJECT_ID --session SESSION_ID
zshell +session close --project PROJECT_ID --session SESSION_ID --remove-worktreeالمستودعات البعيدة
تضم قائمة ⋯ كل الإجراءات التي تتواصل مع مستودع بعيد:
| الإجراء | الوظيفة |
|---|---|
| جلب | تحديث مراجع التتبع البعيدة |
| سحب (تقديم سريع فقط) | السحب مع رفض إنشاء التزام دمج |
| دفع | دفع الفرع الحالي |
| نشر الفرع | دفع فرع لا يملك upstream بعد، مع اختيار المستودع البعيد إن تعددت الخيارات |
| مزامنة التغييرات | سحب بتقديم سريع ثم دفع |
| تخزين كل التغييرات مؤقتًا | حفظ كل شيء في stash، بما في ذلك الملفات غير المتتبعة |
| استعادة آخر stash وإزالته | استعادة أحدث تخزين مؤقت |
توضح الشارات بجانب الفرع عدد الالتزامات ↓ المتأخرة و↑ المتقدمة مقارنةً بفرع التتبع.
تحتوي القائمة نفسها على نسخ المسارات المعدلة ونسخ مسار المستودع وإظهار المستودع في Finder.
السحب مقصور على التقديم السريع عمدًا. إذا كان الدمج أو إعادة التأسيس ضروريًا، يوضح Git ذلك وتقرر أنت في الطرفية؛ لا تختار اللوحة استراتيجيةً نيابةً عنك.
ليس مستودعًا بعد
إذا لم يحتوِ مجلد المشروع على مستودع، تعرض اللوحة تهيئة مستودع لتنفيذ git init في ذلك المجلد. وإلى حينها تبقى بعيدة عن طريقك.
مراجعة جولات الوكلاء
انقر على مراجعة التغييرات… في لوحة Git.
- يقارن آخر جولة لقطتي البداية والنهاية للوكيل المحدد، ويشمل كل التعديلات خلال تلك الفترة بغض النظر عن الكاتب.
- يقارن غير الملتزم بها HEAD بشجرة العمل، بما في ذلك الملفات المرحلية وغير المتتبعة.
- يقارن الفرع بالكامل السلف المشترك مع الفرع الأساسي المحدد بشجرة العمل، بما في ذلك الالتزامات والملفات غير الملتزم بها.
اختر ملفًا ومقطعًا. في آخر جولة، يسجل الإبقاء على المقطع المراجعة، بينما يعكس التراجع عن المقطع التغيير في شجرة العمل. لا يغير أي منهما فهرس Git. تبقى اللقطة الأصلية والقرارات ظاهرة.
يُرفض التراجع إذا تغير الملف أو HEAD، أو كان المسار غير آمن، أو كان وكيل نشطًا، أو تداخلت الجولات. التغييرات الثنائية وتغييرات الأذونات فقط للقراءة. الملفات الأكبر من 5 MiB غير متاحة، وكذلك اللقطات التي تتجاوز 2048 مسارًا معدّلًا أو 25 MiB من المحتوى أو حد وقت الالتقاط.
تستمر اللقطات خلال جلسة التطبيق الحالية. يلزم حدثا بداية ونهاية موثوقان. توفر Pi وOpenCode وGrok تكاملات أصلية. تلتقط المطالبات المحمية البداية، لكنها تحتاج أيضًا إلى حدث انتهاء. إذا غاب الحدث فلن تتوفر لقطة مكتملة.