تخطَّ إلى المحتوى

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 الكامل بالعربي.