قبل أن ننتقل إلى الفرق بين git fetch و git pull ، دعونا نفهم ما هو git أولاً.
Git هو نظام تحكم في الإصدار الموزع (VCS) ، أشبه بأداة ، لتتبع التغييرات في التعليمات البرمجية المصدر من المشاريع الصغيرة إلى المشاريع الكبيرة بمرور الوقت. إنه نهج تعاوني لجلب المطورين والمبرمجين من جميع أنحاء العالم تحت سقف واحد لمشاركة مصلحة واحدة مشتركة – الترميز. Git هي في الأساس أداة لإدارة الكود المصدري تُستخدم لإدارة المشاريع أو مجموعة من الملفات التي تتغير بمرور الوقت وتصنفها على بنية بيانات معينة تسمى المستودعات.
GitHub هو مستودع git المستند إلى الويب الأكثر شيوعًا والأكثر استخدامًا. يعد Fetch and Pull هما الأمران الأساسيان اللذان يمكنك من المضي قدمًا في استخدام Git وإدارة مستودعات git.
ما هو Git Fetch؟
يتيح Git للمستخدمين الاحتفاظ بمستودع محلي وهو نسخة من المستودع المركزي عن طريق تخزين البيانات على شكل سلسلة من اللقطات.
في كل مرة تقوم فيها بتنفيذ أو إجراء بعض التغييرات في التعليمات البرمجية المصدر ، يأخذ Git لقطة من جميع الملفات / الرموز في تلك اللحظة ويخزنها كمراجع.
باستخدام أمر دفع بسيط ، يمكن للمستخدمين إرسال التزاماتهم إلى المستودع الرئيسي لمشاركة إصداراتهم مع بقية العالم.
عند استخدام الأمر git fetch ، يمكنك ببساطة اختيار استرداد التغييرات التي تم إجراؤها في المستودع البعيد وتخزينها في جهازك المحلي.
ومع ذلك ، فإنه لا يدمج التغييرات في المستودع المحلي الخاص بك. هذا يبقيك على اطلاع دائم مع زملائك المطورين وما يعملون عليه.
ما هو Git Pull؟
يُستخدم الأمر Git pull لتنزيل تغييرات مستودع Git من مستودع بعيد ودمج هذه التغييرات في المستودع المحلي الخاص بك.
السحب هو في الأساس git fetch متبوعًا بمعنى git merge بعد استرجاع التغييرات بنجاح من المستودع البعيد ، يمكنك دمجها مع الفرع المحلي الخاص بك باستخدام دمج git العادي.
يعد Git pull مفيدًا عندما تريد تحديث مستودعك بالتغييرات التي تم إجراؤها في المستودع البعيد. يسمح لك بإدخال تغييرات على الأفراد الآخرين الملتزمين بالمستودع الخاص بك والتي تتزامن في النهاية مع مستودعات أخرى مع التغييرات التي قمت بها.
بعبارات بسيطة ، يقوم ببساطة بإدخال التغييرات في المستودع البعيد حيث تحتفظ بالرمز الخاص بك.
الفرق بين Git Fetch و Git Pull
أساسيات Git Fetch و Git Pull
Git fetch و Git pull هما أهم أمرين مستخدمين لإدارة مستودعات git بكفاءة. بينما يتم استخدام كلا الأمرين لتنزيل بيانات جديدة من مستودع بعيد ، إلا أنهما يقومان بذلك بأهداف مختلفة تمامًا في الاعتبار. بينما يتم استخدام “git fetch” لاسترداد أحدث التغييرات التي تم إجراؤها في المستودع البعيد ، فإنه لا يدمج هذه التغييرات مع المستودع المحلي الخاص بك.
من ناحية أخرى ، لا يقوم Git pull بتنزيل التغييرات من المستودع البعيد فحسب ، بل يدمجها أيضًا مع المستودع المحلي.
الغرض من Git Fetch و Git Pull
Git fetch هو أمر غير ضار يستخدم لتنزيل ومراجعة أحدث الالتزامات التي قام بها أشخاص آخرون من فروع التتبع عن بعد ولكن دون دمج تلك الالتزامات في مستودعك المحلي. يلتقط التغييرات من المستودع البعيد ويخزنها في المستودع المحلي الخاص بك.
Git pull هو اختصار لـ git fetch متبوعًا بـ git merge الذي يدمج الالتزامات تلقائيًا في المستودع المحلي الخاص بك دون مراجعة الالتزامات.
أهداف Git Fetch و Git Pull
يسمح Git للمستخدم بالاحتفاظ بنسخة من المستودع المحلي الخاص به / بها وهو نسخة من المستودع المركزي بحيث يتم تنفيذ الالتزامات محليًا دون التدخل في الكود الموجود في المستودع الرئيسي. يحافظ الجلب ببساطة على تحديث نسختك المحلية من المستودع البعيد عن طريق نقل الالتزامات من المستودع البعيد إلى المستودع المحلي الخاص بك. سيسمح لك استيراد الالتزامات إلى الفروع المحلية بمواكبة التغييرات التي أجراها أشخاص آخرون.
يجلب Pull التغييرات إلى مستودع الكود المحلي لتحديث المستودع المحلي بالمخزون البعيد.
استخدام Git Fetch و Git Pull
يكون أمر الجلب مفيدًا عندما تريد معرفة ما يعمل عليه الجميع مما يسهل عليك مراجعة الالتزامات التي دفعها مطورو البرامج الآخرون قبل دمج التغييرات مع المستودع المحلي الخاص بك. يمكنك القيام بذلك باستخدام الأمر “git fetch ” الذي ينتزع جميع الفروع من المستودع البعيد.
يمكنك إجراء سحب باستخدام الأمر “git pull ” الذي يسترد النسخة البعيدة من الفرع ويدمجها مع نسختك المحلية. هذا مماثل تمامًا لاستخدام الأمر “git fetch ” متبوعًا بـ “git merge “.
Git Fetch مقابل Git Pull: مخطط المقارنة
ملخص آيات Git Fetch Git Pull
git pull هي git fetch متبوعة بدمج git. Git fetch هو الأمر الأساسي المستخدم للحصول على آخر التحديثات من مستودع git بمعنى عندما تعمل كفريق وترغب في معرفة ما يعمل عليه كل مطور آخر وما هي الالتزامات التي يتم دفعها إلى المستودع البعيد.
ما تفعله في الأساس هو جلب التغييرات في التعليمات البرمجية / الملفات من الفرع البعيد مما يبقيك على اطلاع دائم بعمل أي شخص آخر دون التدخل في نسخة العمل الخاصة بك. طلب git pull هو ما تفعله لتحديث مستودعك المحلي بالتغييرات من المستودع البعيد.
بعبارات بسيطة ، قم بإحضار التنزيلات كافة العناصر من الفرع البعيد إلى الفرع المحلي قبل دمجها مع المستودع المركزي ، بينما يقوم git pull بإخراج عمليات الجلب والدمج في أمر واحد.