إعداد Git للمرة الأولى: دليل شامل للمطورين الجدد
يُعد Git من أشهر أنظمة التحكم في الإصدارات وأكثرها استخدامًا على مستوى العالم، ويُستخدم على نطاق واسع في إدارة مشاريع البرمجة، خاصة في البيئات التعاونية التي تتطلب تنسيقًا دقيقًا بين فرق العمل. يمنح Git المطورين قدرة غير مسبوقة على تتبع التعديلات، والعودة إلى إصدارات سابقة من الملفات، والعمل على فروع متعددة بشكل متوازٍ. لكن قبل الاستفادة من هذه الميزات، يجب إعداد Git بشكل صحيح على الجهاز لأول مرة.
يُعالج هذا المقال جميع الجوانب المتعلقة بإعداد Git للمرة الأولى، بدءًا من تنزيله وتثبيته وحتى ضبط الإعدادات الأساسية والعمل مع مستودعات Git. سيتم أيضًا التطرق إلى بعض الإعدادات المتقدمة التي تسهّل تجربة استخدام Git وتتكامل مع بيئات التطوير المختلفة.
تنزيل وتثبيت Git
أنظمة التشغيل المدعومة
يتوفر Git لجميع أنظمة التشغيل الرئيسية:
-
Windows
-
macOS
-
Linux (بجميع توزيعاته الشائعة)
تثبيت Git على Windows
-
زيارة الموقع الرسمي:
https://git-scm.com -
تحميل الإصدار المناسب لنظام التشغيل.
-
فتح ملف التثبيت، ثم اتباع معالج التثبيت (Installer).
خلال عملية التثبيت، تظهر مجموعة من الخيارات، مثل:
-
اختيار محرر النصوص الافتراضي (مثل Vim، أو Notepad++، أو VS Code).
-
طريقة تكامل Git مع موجه الأوامر (Git Bash أو Git CMD).
-
إعدادات تحويل نهاية السطر (line endings).
يفضل قبول الإعدادات الافتراضية إلا في حالات خاصة.
تثبيت Git على macOS
أفضل طريقة لتثبيت Git على macOS هي استخدام مدير الحزم Homebrew:
bashbrew install git
بعد انتهاء التثبيت، يمكن التحقق من نجاح العملية بالأمر:
bashgit --version
تثبيت Git على Linux
يعتمد الأمر على التوزيعة المستخدمة:
-
Debian/Ubuntu:
bashsudo apt update sudo apt install git -
Fedora:
bashsudo dnf install git -
Arch:
bashsudo pacman -S git
التحقق من نجاح التثبيت
بمجرد الانتهاء من التثبيت، يمكن التأكد من توفر Git باستخدام الأمر التالي في سطر الأوامر:
bashgit --version
إذا أظهر إصدار Git (مثل git version 2.42.0)، فإن التثبيت تم بنجاح.
إعداد البيانات الشخصية
قبل استخدام Git في أي مشروع، من الضروري تحديد اسم المستخدم والبريد الإلكتروني. تُستخدم هذه البيانات لتمييز هوية كل عملية تعديل تُضاف إلى السجل (commit history).
bashgit config --global user.name "اسمك الكامل"
git config --global user.email "بريدك@example.com"
مثال:
تُضاف هذه البيانات إلى ملف الإعدادات العام (~/.gitconfig) وتُستخدم في جميع مستودعات Git.
إعداد محرر النصوص الافتراضي
بشكل افتراضي، يستخدم Git محرر النصوص Vim لإدخال رسائل الـ commit. لكن يمكن تغييره إلى محرر آخر مثل Visual Studio Code:
bashgit config --global core.editor "code --wait"
أو إلى Nano:
bashgit config --global core.editor "nano"
إعداد طريقة عرض الفروقات (Diff Tool) وأدوات الدمج (Merge Tool)
في المشاريع الكبيرة، يُفضّل استخدام أدوات رسومية لمقارنة الفروقات أو إجراء دمج يدوي للملفات المتعارضة. يمكن إعداد أدوات مثل Meld أو Beyond Compare:
bashgit config --global diff.tool meld git config --global merge.tool meld
إنشاء مفتاح SSH لربط GitHub أو GitLab
إذا كنت تنوي استخدام Git مع منصات استضافة الكود مثل GitHub أو GitLab، فإن إعداد مفتاح SSH يوفّر اتصالاً آمناً دون الحاجة لإدخال كلمة المرور في كل مرة.
خطوات إنشاء مفتاح SSH:
-
إنشاء مفتاح جديد:
عند المطالبة بموقع الحفظ، يمكن الضغط على Enter لقبول الموقع الافتراضي (
~/.ssh/id_ed25519). -
بدء وكيل SSH وتحميل المفتاح:
basheval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 -
نسخ المفتاح:
bashcat ~/.ssh/id_ed25519.pub -
إضافة المفتاح إلى GitHub أو GitLab من إعدادات الحساب.
إنشاء أول مستودع Git
تحويل مجلد عادي إلى مستودع Git
bashcd /path/to/your/project
git init
يتم بذلك إنشاء مجلد مخفي .git يحتوي على جميع ملفات التحكم في الإصدارات.
إضافة ملفات للتتبع
bashgit add .
إنشاء أول commit
bashgit commit -m "الإعداد الأولي للمشروع"
إعداد مستودع بعيد (Remote Repository)
لربط المستودع المحلي بمستودع بعيد على GitHub أو GitLab:
ثم رفع الملفات:
bashgit push -u origin master
أو في بعض الحالات:
bashgit push -u origin main
إعداد الاسم المستعار للأوامر (Aliases)
توفيرًا للوقت، يمكن إعداد اختصارات لأوامر Git المتكررة:
bashgit config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.cm "commit -m"
بعد الإعداد، يمكن استخدام:
bashgit st # بدلًا من git status
git co # بدلًا من git checkout
ملف .gitignore
في كثير من الأحيان، توجد ملفات لا ينبغي تتبعها في المستودع مثل ملفات التكوين الشخصية أو ملفات النظام المؤقتة.
إنشاء ملف .gitignore في جذر المشروع وإضافة الملفات أو المجلدات المطلوب تجاهلها:
bashnode_modules/
.env
.DS_Store
*.log
إعداد قالب رسالة Commit
لضمان توحيد رسائل commit بين أعضاء الفريق، يمكن إعداد قالب يُستخدم تلقائيًا:
-
إنشاء ملف قالب:
bashnano ~/.gitmessage.txt
مثال لمحتوى القالب:
bash# نوع التعديل: إضافة/تعديل/إصلاح/حذف
# وصف مختصر:
#
# التغييرات:
# - نقطة 1
# - نقطة 2
-
تعيينه في إعدادات Git:
bashgit config --global commit.template ~/.gitmessage.txt
إعداد إعدادات الأمان وخوادم البروكسي
في بعض بيئات الشركات أو الشبكات المغلقة، قد يتطلب الأمر إعداد Git للعمل خلف Proxy:
bashgit config --global http.proxy http://proxy.company.com:8080 git config --global https.proxy https://proxy.company.com:8080
ولإزالتها:
bashgit config --global --unset http.proxy
git config --global --unset https.proxy
جدول بأوامر الإعداد الأساسية في Git
| الوظيفة | الأمر المستخدم |
|---|---|
| تعيين الاسم | git config --global user.name "الاسم" |
| تعيين البريد الإلكتروني | git config --global user.email "البريد" |
| تغيير المحرر الافتراضي | git config --global core.editor "nano" أو “code –wait” |
| تعيين مفتاح SSH | ssh-keygen -t ed25519 -C "البريد" + ssh-add ~/.ssh/id_ed25519 |
| ربط مستودع بعيد | git remote add origin الرابط |
| إنشاء مستودع جديد | git init |
| إضافة جميع الملفات | git add . |
| إنشاء أول commit | git commit -m "الرسالة" |
| تعيين مستودع رئيسي | git push -u origin master أو main |
| إعداد الاختصارات (aliases) | git config --global alias.co checkout وغيرها |
| إعداد قالب رسالة commit | git config --global commit.template ~/.gitmessage.txt |
| إعداد proxy | git config --global http.proxy http://... |
| إنشاء ملف .gitignore | يدويًا أو باستخدام القوالب الجاهزة |
الخلاصة التقنية
يُعد إعداد Git للمرة الأولى خطوة أساسية لكل مطور يرغب في بناء بيئة تطوير احترافية تضمن الحفظ الآمن للتعديلات وتسهّل العمل الجماعي. لا تقتصر إعدادات Git على الأمور الأساسية فحسب، بل تمتد لتشمل أدوات التكامل، الأمان، وضبط الأداء. كما أن الفهم الجيد لهذه الإعدادات ينعكس إيجابًا على تنظيم سير العمل واستقرار المشاريع البرمجية.
المصادر:

