[6#] git pull
يُستخدم الأمر git pull لجلب المحتوى وتنزيله من مستودع بعيد (remote repo) وتحديث المستودع المحلي تلقائيًا ليطابق ذلك المحتوى، يعد دمج التغييرات التي تتم في remote upstream في المستودع المحلي مهمة شائعة في تدفقات عمل التعاون القائم على Git.
الأمر git pull هو في الواقع مزيج من أمرين ( git fetch + git merge ).
في المرحلة الأولى من العملية ، يقوم git pull بتنفيذ عملية إحضار git تم تحديد نطاقه إلى الفرع المحلي الذي يتم توجيه الـ Head، بمجرد تنزيل المحتوى ، سيدخل git pull في سير عمل الدمج سيتم إنشاء التزام دمج merge commit جديد وتحديث الـ Head للإشارة إلى الالتزام الجديد.
git pull
git pull عبارة عن أمر Git يُستخدم لتحديث الإصدار المحلي من المستودع من جهاز تحكم عن بُعد.
وهي واحدة من الأوامر الأربعة التي تحفز تفاعل الشبكة بواسطة Git – بشكل افتراضي ، يؤدي git pull إلى شيئين:-
- تحديث فرع العمل المحلي الحالي (الفرع المسحوب حاليًا).
- تحديث فروع التتبع عن بعد لجميع الفروع الأخرى.
💡 ملحوظة: إذا كانت لديك تغييرات غير ملتزم بها ، فسوف يفشل جزء الدمج من الأمر git pull ولكن لا يتأثر الفرع المحلي الخاص بك، وبالتالي يجب عليك دائمًا تنفيذ تغييراتك في الفرع قبل سحب الالتزامات الجديدة من مستودع بعيد (Remote Repo).
استخدام git pull
يقوم الأمر git pull أولاً بتشغيل أمر git fetch الذي يقوم بتنزيل المحتوى من المستودع البعيد المحدد، ثم يتم تنفيذ git merge لدمج مراجع المحتوى البعيد والرؤوس Heads في التزام دمج محلي جديد.
الخيارات الشائعة Common options
- [ git pull —no-commit ]: يجلب المحتوى البعيد ولكنه لا ينشئ التزام دمج جديد.
- [ git pull —rebase ]: بدلاً من استخدام git merge لدمج الفرع البعيد مع الفرع المحلي ، استخدم git rebase.
- [ git pull —verbose ]: يعطي إخراج مطول أثناء السحب والذي يعرض المحتوى الذي يتم تنزيله وتفاصيل الدمج.
أمثلة على Git Pull
1. السلوك الافتراضي Defualt:
git pull
💡 تنفيذ الاستدعاء الافتراضي لـ git pull سيكون مكافئًا لـ git fetch origin) HEAD) وgit merge) HEAD) حيث يشير الـ HEAD إلى الفرع الحالي.
2. Git pull on remotes
git checkout new_advantage
git pull
💡 يُجري هذا المثال أولاً عملية push ويتحول إلى فرع <newAdvantage> + بعد ذلك ، يتم تنفيذ git pull مع تمرير <remoteRepo>، سيؤدي ذلك إلى سحب فرع الميزات الجديدة newadvantage branch من <repo> عن بُعد، بمجرد اكتمال التنزيل ، سيبدأ git merge.
3. Git pull rebase بدلاً من الدمج
يوضح المثال التالي كيفية المزامنة مع الفرع الرئيسي للمستودع المركزي باستخدام rebase:
git checkout master
git pull --rebase origin
💡 يؤدي هذا ببساطة إلى نقل تغييراتك المحلية إلى أعلى ما ساهم(contributed) به الجميع بالفعل.
💡 لا تنسي متابعتنا على مواقع التواصل الإجتماعى، لمعرفة كل جديد أول بأول.
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!