للتحقق من فرع Git لنافذة Terminal على جهاز Mac الخاص بك، شغّل git branch --show-current في تلك النافذة. يعرض Git الفرع الذي تم سحبه للمستودع في موقع الـ shell الحالي. إذا لم يطبع أي شيء، فقد يكون السحب في حالة HEAD مفصولة (detached)؛ وإذا أفاد Git بأنه ليس مستودعًا، فتحقق من دليل النافذة أولاً.
التحقق من الفرع في نافذة Terminal الحالية
انقر فوق نافذة Terminal التي تريد تحديدها، ثم أدخل هذا الأمر واضغط على Return:
git branch --show-current
على سبيل المثال، مخرجات مثل feature/search تعني أن هذا الـ shell موجود في شجرة عمل Git مع سحب هذا الفرع. يُبلغ هذا الأمر عن اسم الفرع الحالي دون إدراج كل الفروع. تشير وثائق Git إلى أنه لا يطبع أي شيء في حالة HEAD المفصولة، عندما يشير السحب مباشرة إلى commit بدلاً من فرع محدد باسم. وثائق git branch الخاصة بـ Git
تنطبق الإجابة على الدليل الذي يتم تشغيل الأمر منه. يمكن أن يكون لكل نافذة أو علامة تبويب Terminal دليل حالي مختلف، لذا شغّل الأمر في النافذة المحددة التي تنوي فحصها. إذا كان لديك عدة نوافذ متشابهة، فتأكد من دليل المشروع بالإضافة إلى الفرع قبل اتخاذ أي إجراء.
التأكد من المشروع الذي تتواجد فيه النافذة
شغّل pwd لطباعة الدليل الحالي للـ shell. ثم استخدم Git لتحديد دليل المستوى الأعلى لشجرة العمل:
pwd
git rev-parse --show-toplevel
يُظهر الأمر الأول الموقع الحالي؛ ويطبع الثاني جذر المستودع عندما ينتمي الدليل الحالي إلى شجرة عمل. يوضح توثيق Git أن --show-toplevel يُبلغ عن خطأ إذا لم تكن هناك شجرة عمل. وثائق git rev-parse الخاصة بـ Git
يساعد هذا الفحص الإضافي عندما يستخدم مشروعان أسماء فروع متشابهة، أو عندما يكون الـ shell داخل مجلد متداخل. في دليل فرعي للمستودع، لا يزال بإمكان Git تحديد شجرة العمل المحيطة وفرعها المسحوب. يُعد المسار دليلاً مفيدًا على المشروع الذي تشاهده؛ فأمر الفرع وحده لا يحدد المشروع باسمه.
استخدام git status كفحص ثانٍ
لإجراء فحص سريع وشامل معًا، شغّل:
git status -sb
يتضمن تنسيق الحالة القصير مع -b سطرًا للفرع وملخصًا موجزًا لتغييرات الملفات. على سبيل المثال، يحدد ## main أن الفرع هو main؛ وقد يصف النص الإضافي حالة التتبع. يساعدك git status أيضًا على ملاحظة الملفات المعدلة، أو المجهزة (staged)، أو غير المتتبعة (untracked) قبل المتابعة. يوضح توثيق Git أن -b يعرض معلومات الفرع والتتبع بتنسيق قصير. وثائق git status الخاصة بـ Git
يقدم تحديد الفرع وحالة الملفات إجابات لأسئلة مختلفة. يخبرك اسم الفرع بالفرع المسمى الذي تم سحبه؛ وتخبرك بقية مخرجات الحالة بما إذا كانت شجرة العمل تحتوي على تغييرات. لا تعني الحالة النظيفة أن الفرع مُحدث مقارنة بالمستودع البعيد (remote)، كما أن اسم الفرع وحده لا يكشف عما إذا كانت الملفات قد عُدّلت أم لا.
إذا لم يعرض الأمر أي فرع
إذا ذكر Git أن الدليل الحالي ليس مستودعًا، فقد يكون الـ shell في مجلدك الرئيسي (home folder)، أو في مشروع آخر، أو في دليل خارج شجرة العمل. استخدم pwd لمعرفة مكانك. إذا كنت تعرف موقع المشروع، فانتقل إلى ذلك الدليل باستخدام cd وشغّل أمر الفرع مرة أخرى. على سبيل المثال، استبدل مسار العينة بمسار مشروعك الفعلي:
cd ~/Projects/sample-project
git branch --show-current
إذا كنت بالفعل داخل مستودع ولكن أمر الفرع لم يُرجع أي نص، فتحقق من git status -sb. سلوك Git الموثق لـ --show-current هو عدم طباعة أي شيء في حالة HEAD المفصولة. يمكن أن تُظهر مخرجات الحالة (HEAD detached at ...)؛ وفي هذه الحالة، لا يوجد اسم فرع محلي حالي للإبلاغ عنه. تجنب التعامل مع آخر فرع تتذكر استخدامه على أنه الفرع الحالي.
تسهيل التعرف على المشروع في Terminal
يمكن لتطبيق macOS Terminal إظهار دليل العمل في عنوان النافذة أو علامة التبويب. لتكوينه، افتح Terminal > الإعدادات (Settings)، واختر ملفات التعريف (Profiles)، وحدد ملف التعريف المستخدم بواسطة النافذة، وانقر على نافذة (Window) لتحديد معلومات العنوان مثل دليل العمل أو مساره. تحتوي عناوين علامات التبويب على إعدادات خاصة بها ضمن Profiles > Tab. تشير Apple إلى أن إعدادات ملف التعريف تنطبق على ملف التعريف المحدد، لذا تحقق من ملف التعريف قيد الاستخدام إذا لم يتغير العنوان. دليل Terminal من Apple لعناوين النوافذ ودليل Terminal من Apple لعناوين علامات التبويب
يساعد عنوان الدليل في تمييز مواقع المشاريع، ولكنه لا يعرض فرع Git بحد ذاته. للتحقق النهائي من الفرع، شغّل git branch --show-current في النافذة المعنية؛ واستخدم git status -sb إذا كنت تريد أيضًا عرضًا موجزًا للتغييرات ومعلومات التتبع.