في هذا الدرس 6تصفّح المواضيع
قبل إنشاء أول مستودع برمجي، تأكد من تثبيت نظام Git على جهازك (عبر حزمة Git for Windows التي توفر طرفية Git Bash على ويندوز، أو مدير الحزم apt على لينكس، أو brew على ماك). وبعد فتح الطرفية، نفّذ أول أمر فعلي وهو git --version للتحقق من جاهزية النظام ورقم الإصدار:
- بيئة ويندوز: تثبت طرفية Git Bash القياسية مع دعم كامل لسطر أوامر PowerShell.
- بيئتا لينكس وماك: يعمل Git مباشرة داخل الطرفية القياسية بكامل المزايا الحديثة.
# Verify that Git is installed and check version
git --version
# git version 2.47.0
يوفر نظام Git الأمر git config لضبط وقراءة متغيرات الإعداد التي تتحكم في سلوك النظام وهوية المطور. وتتوزع هذه الإعدادات في ثلاثة مستويات هرمية، بحيث يتفوق المستوى الأخص على المستوى الأعم:
- 1. مستوى النظام (
--system): يُحفظ في/etc/gitconfigويسري على جميع حسابات المستخدمين في نظام التشغيل. - 2. مستوى المستخدم العام (
--global): يُحفظ في الملف~/.gitconfigداخل مجلد حسابك، ويسري على جميع مستودعاتك البرمجية. - 3. المستوى المحلي للمستودع (
--local): يُحفظ داخل.git/configفي مشروع محدد، وله الأولوية القصوى على الإعداد العام.
# Inspect active settings across all config scopes
git config --list
# Inspect only global user settings
git config --global --list
بعد ضبط الهوية، يُنصح بضبط إعدادين أساسيين في ملفك العام: اسم الفرع الابتدائي الافتراضي (init.defaultBranch) والمحرر النصي الافتراضي (core.editor):
- توحيد اسم الفرع الرئيسي على
main: يضمن ضبطinit.defaultBranch mainأن يبدأ كل مستودع جديد بفرع يحمل الاسم القياسي الحديثmainالمتوافق مع GitHub. - ربط محرر الأكواد: يتيح الخيار
core.editor "code --wait"فتح محرر VS Code والانتظار حتى تحفظ الرسالة وتغلق التبويب.
# Set default branch name to main for new repos
git config --global init.defaultBranch main
# Set VS Code as the default Git text editor
git config --global core.editor "code --wait"
عندما يتعاون فريق يضم أجهزة ويندوز إلى جانب أجهزة لينكس أو ماك، تظهر مشكلة اختلاف نهايات الأسطر؛ فنظام ويندوز يستخدم محرفَي CRLF بينما يستخدم لينكس وماك محرف LF فقط. ويعالج Git هذا الاختلاف تلقائياً عبر الإعداد core.autocrlf:
- على نظام ويندوز (
true): يحوّل نهايات الأسطر إلىCRLFعند فتح الملفات في مجلد العمل، ويعيدها إلىLFالقياسية عند التجهيز والحفظ. - على نظامَي لينكس وماك (
input): يبقي النهايات بصيغةLFوينظف أي محرفCRLFعارض عند التجهيز.
# Recommended on Windows workstations:
git config --global core.autocrlf true
# Recommended on Linux and macOS workstations:
git config --global core.autocrlf input
للتحقق من قيمة مفتاح إعداد معين أو معرفة الملف الفعلي الذي تُقرأ منه الإعدادات، استخدم git config --get وgit config --list --show-origin، واستعن دائماً بالأمر git help لفتح الدليل الرسمي المدمج بدون إنترنت. يلخص الجدول التالي أهم أوامر الإعداد:
| الأمر أو المستوى | النطاق | موقع ملف الإعداد | الغرض الهندسي |
|---|---|---|---|
| git config --system | النظام بالكامل | /etc/gitconfig | إعدادات عامة لجميع مستخدمي الجهاز |
| git config --global | المستخدم الحالي | ~/.gitconfig | حفظ الاسم والبريد والفرع الافتراضي main |
| git config --local | المستودع الحالي | .git/config | إعدادات خاصة بمشروع واحد (الأعلى أولوية) |
| git help config | الدليل المرجعي | توثيق Git المحلي | عرض شرح الخيارات والأمثلة بدون إنترنت |
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس التحقق من تثبيت النظام عبر git --version، وفهمت مستويات الإعداد الثلاثة في git config، وضبطت اسم المؤلف وبريده والفرع الافتراضي main والمحرر ونهايات الأسطر، واستعرضت التوثيق عبر git help. الخطوة التالية: انتقل الآن إلى الدرس رقم 5 «إنشاء مستودع جديد عبر الأمر git init» لبدء الوحدة الثانية وإنشاء أول مستودع محلي.
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Global Configuration الإعداد العام للمستخدم
- إعدادات Git المحفوظة في ملف ~/.gitconfig والتي تسري تلقائياً على جميع مشاريع المستخدم الحالي.
- للمراجعة
- 02 Local Configuration الإعداد المحلي للمستودع
- إعدادات خاصة بمستودع واحد تُحفظ في .git/config وتتجاوز الإعدادات العامة للنظام والمستخدم.
- للمراجعة
- 03 Author Identity هوية المؤلف
- زوج الاسم والبريد الإلكتروني الذي يُدمج بشكل دائم داخل كل كائن التزام ينشئه المطور.
- للمراجعة
- 04 Line Endings Normalization توحيد نهايات الأسطر
- المعالجة التلقائية لاختلاف محارف نهاية السطر بين ويندوز ولينكس وماك عبر الإعداد core.autocrlf.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 CRLF CRLF
- Carriage Return + Line Feed
- تسلسل محرفَي نهاية السطر المعتمد افتراضياً في ملفات نظام التشغيل ويندوز.
- للمراجعة
- 02 LF LF
- Line Feed
- محرف نهاية السطر القياسي المعتمد في أنظمة لينكس وماك وداخل مستودعات Git.
- للمراجعة
- 03 PATH PATH
- System Executable Search Path
- متغير البيئة الذي يحدد المجلدات التي تبحث فيها الطرفية عن البرامج التنفيذية مثل git.
- للمراجعة
- 04 POSIX POSIX
- Portable Operating System Interface
- المعيار القياسي لبيئة الصدفة والأوامر النصية المطبق في لينكس وماك وطرفية Git Bash.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
طبّق أوامر ضبط الاسم والبريد والفرع الافتراضي main عبر المختبر التفاعلي وطرفية جهازك.
-
نفّذ الأمر git config --list --show-origin للتحقق من القيم المضبوطة ومسار الملف الذي جاءت منه.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.
لمحة عن التحدي8 أسئلة تنتظرك +
ما الأمر الذي يتحقق من تثبيت نظام Git ويعرض رقم الإصدار المثبت؟
يعرض الأمر git --version رقم إصدار Git المثبت على نظام التشغيل.
أي مستوى من مستويات git config يمتلك الأولوية القصوى ويتجاوز إعدادات المستخدم والنظام داخل مشروع محدد؟
يمتلك المستوى المحلي --local المحفوظ في .git/config الأولوية الأعلى على الإعداد العام وإعداد النظام.
يدمج نظام Git اسم المؤلف user.name وبريده user.email داخل كل لقطة التزام ينشئها المطور.
صواب؛ إذ يسجل Git الاسم والبريد الإلكتروني للمؤلف كجزء أصيل من بيانات كل لقطة.
ما الأمر الصحيح لضبط اسم الفرع الابتدائي الافتراضي ليكون main في جميع المستودعات الجديدة؟
يضبط الأمر git config --global init.defaultBranch main اسم الفرع الابتدائي على main.
ما القيمة الموصى بها للإعداد core.autocrlf على أجهزة نظام ويندوز؟
يُضبط الإعداد core.autocrlf على القيمة true في نظام ويندوز لتحويل النهايات إلى LF عند التجهيز.
عند ضبط محرر VS Code في core.editor، يضمن الخيار --wait انتظار Git حتى تحفظ الرسالة وتغلق التبويب.
صواب؛ فالخيار --wait يجعل الطرفية تنتظر إغلاق تبويب المحرر بعد كتابة الرسالة.
ما الأمر الذي يعرض كافة إعدادات Git الفعالة مع توضيح مسار الملف الذي قُرئ منه كل إعداد؟
يعرض الأمر git config --list --show-origin جميع القيم الفعالة مع مسار ملف الإعداد المصدر لكل منها.
كيف يمكنك فتح صفحة الدليل المرجعي الكامل للأمر git config بدون اتصال بالإنترنت؟
يفتح الأمر git help config صفحة التوثيق المرجعي المدمجة للأمر config محلياً.