انتقل إلى محتوى الدرس

Understanding Detached HEAD حالة المؤشر المنفصل وعلاجها

تنقّل بين الفروع بوضوح عبر الأمر الحديث git switch، وأنشئ فرعاً وانتقل إليه بخطوة واحدة عبر -c، وتعرّف على مقابله التقليدي git checkout وحالة المؤشر المنفصل.
3 صفوف تعليمية
Version Control
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

في الوضع الطبيعي يشير HEAD إلى اسم فرع، ويشير الفرع إلى الالتزام. أما إذا انتقلت مباشرة إلى بصمة التزام معين عبر git checkout a1b2c3d أو git switch --detach HEAD~1، يدخل المستودع في حالة المؤشر المنفصل (Detached HEAD)، حيث يحفظ الملف .git/HEAD بصمة الالتزام مباشرة دون فرع وسيط.

تُعد معاينة الكود القديم في هذه الحالة آمنة تماماً، لكن الخطر يقع إذا أنشأت التزامات جديدة وأنت في وضع الانفصال ثم عدت إلى main؛ إذ تصبح تلك الالتزامات يتيمة بلا فرع يشير إليها. ولحفظها بأمان، أنشئ فرعاً فورياً في موقعك عبر git switch -c <new-branch>.

الصف 2 كود برمجي
Shell
# Inspect an older commit in detached HEAD mode
git switch --detach HEAD~1

# Rescue detached work by attaching a new branch
git switch -c rescue-old-state
الصف 3 ملاحظة هامة