نظام Git
Git نظام موزع للتحكم بالإصدارات: يحفظ تاريخ كل تغيير في المشروع، ويتيح العمل على فروع متوازية ثم دمجها.
المناطق الثلاث
- مجلد العمل: الملفات كما تعدّلها.
- منطقة التجهيز (staging): ما اخترته للإيداع التالي.
- المستودع: الإيداعات المحفوظة.
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. وإذا أُودع سر فاعتبره مكشوفاً وغيّره، فحذفه من آخر إيداع لا يمحوه من التاريخ. - إيداعات ضخمة تخلط تغييرات غير مترابطة.