git pull
سحب ودمج التحديثات البعيدة git pull
git pull يجلب أحدث commits من المستودع البعيد ويدمجها مباشرة في فرعك المحلّي — اختصار لـ fetch ثم merge.
git pull هو في جوهره أمران بأمر واحد: git fetch (تنزيل التحديثات) يليه git merge (دمجها في فرعك الحالي) تلقائيًا. هذا يجعله سريعًا ومريحًا للاستخدام اليومي، لكنه يعني أيضًا أنك تفقد فرصة مراجعة التحديثات قبل دمجها — لذلك يفضّل بعض المطورين استخدام fetch يدويًا في المواقف الحسّاسة.
الصياغة
git pull [remote] [branch]
📄 مثال
git pull # يجلب ويدمج فرع التتبّع الحالي git pull origin main # صراحةً من remote وفرع محدّدين git pull --rebase # يعيد تطبيق تعديلاتك المحلّية فوق التحديثات بدل دمجها
أهم الخيارات
| الخيار | الوظيفة |
|---|---|
| --rebase | يستخدم rebase بدل merge لدمج التحديثات — تاريخ خطّي أنظف محليًا |
| --ff-only | يرفض الدمج إن لم يكن fast-forward ممكنًا، بدل إنشاء merge commit تلقائي |
💡 نصائح عملية
- اسحب (pull) قبل أن تبدأ العمل يوميًا، وقبل push مباشرة، لتقليل احتمال التعارضات
- إن كنت تفضّل تاريخًا خطّيًا محليًا، فعّل git config pull.rebase true لجعل --rebase الافتراضي
⚠️ أخطاء شائعة
- الظن أن pull يعادل fetch — pull يدمج فورًا، بينما fetch ينزّل فقط دون لمس فرعك الحالي
- تجاهل تعارض دمج ظهر أثناء pull ومتابعة العمل وكأن شيئًا لم يحدث
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار GIT الكامل بالعربي.