تخطَّ إلى المحتوى
ARAB CODEمجتمع المطورين العرب

نظام Git

Git نظام موزع للتحكم بالإصدارات: يحفظ تاريخ كل تغيير في المشروع، ويتيح العمل على فروع متوازية ثم دمجها.

المناطق الثلاث

  1. مجلد العمل: الملفات كما تعدّلها.
  2. منطقة التجهيز (staging): ما اخترته للإيداع التالي.
  3. المستودع: الإيداعات المحفوظة.
git status                 # ما الذي تغيّر؟
git add src/app.js         # جهّز ملفاً
git commit -m "إصلاح حساب المجموع في السلة"
git log --oneline -5       # آخر 5 إيداعات

الفروع

git switch -c feature/search    # أنشئ فرعاً وانتقل إليه
# ... تعديلات وإيداعات ...
git switch main
git merge feature/search

المستودعات البعيدة

git clone https://github.com/user/repo.git
git pull            # اجلب التغييرات وادمجها
git push -u origin feature/search

التراجع بأمان

الحالةالأمر
إلغاء تعديلات ملف لم يُجهَّزgit restore file.js
إخراج ملف من التجهيزgit restore --staged file.js
التراجع عن إيداع منشورgit revert <commit> (ينشئ إيداعاً عكسياً)

git revert آمن للفروع المشتركة لأنه لا يعيد كتابة التاريخ، بخلاف git reset --hard وgit push --force اللذين قد يحذفان عمل غيرك.

رسائل إيداع جيدة

سطر أول قصير يصف ما تغيّر، ثم عند الحاجة فقرة تشرح لماذا.

أخطاء شائعة

  • إيداع أسرار (كلمات مرور، مفاتيح API) أو ملف .env؛ أضفها إلى .gitignore. وإذا أُودع سر فاعتبره مكشوفاً وغيّره، فحذفه من آخر إيداع لا يمحوه من التاريخ.
  • إيداعات ضخمة تخلط تغييرات غير مترابطة.

المصادر

  1. Pro Git book
  2. Git reference