--- title: Git Pull Vs Git Fetch localeTitle: Git Pull Vs Git Fetch --- يتم استخدام هذين الأمرين بشكل منتظم من قبل مستخدمي git. دعونا نرى الفرق بين كلا الأمرين. من أجل السياق ، يجدر بنا أن نتذكر أننا ربما نعمل في ريبو استنساخ. ما هو استنساخ؟ ببساطة نسخة من مستودع آخر. هو أساسا الحصول على نسختك الخاصة من رمز مصدر شخص آخر. ومع ذلك ، للحفاظ على تحديث مستنسختك مع أي تغييرات قد تكون طبقت على النسخة الأصلية ، سوف تحتاج إلى إحضار تلك إلى استنساخك. هذا هو المكان الذي يأتي فيه `fetch` `pull` . `git fetch` هو الأمر الذي يخبر بوابة موقعك المحلية باسترداد أحدث معلومات بيانات التعريف من الأصل (حتى الآن لا يقوم بأي نقل للملفات. إنه أشبه بالتحقق لمعرفة ما إذا كان هناك أي التغييرات المتاحة). `git pull` من ناحية أخرى يفعل ذلك AND يجلب (نسخة) تلك التغييرات من مستودع بعيد. على سبيل المثال `git pull origin ankur bugfix ` أخذ بعيدا هو أن نأخذ في الاعتبار أن هناك عموما ما لا يقل عن ثلاث نسخ من مشروع على محطة العمل الخاصة بك. نسخة واحدة هي المستودع الخاص بك مع تاريخ التزامك الخاص (المحفوظ بالفعل ، لذلك أقول). النسخة الثانية هي نسخة عملك حيث تقوم بتحريرها وبناءها (لم تلتزم بعد بالرجوع). النسخة الثالثة هي نسختك المحلية "المخبأة" لمستودع بعيد (ربما الأصلي من حيث قمت باستنساخك). يمكنك استخدام `git fetch` لمعرفة التغييرات التي تمت في الريبو / الفرع البعيد منذ السحب الأخير. يفيد ذلك في السماح بالتحقق قبل إجراء سحب فعلي ، مما قد يؤدي إلى تغيير الملفات في الفرع الحالي ونسخة العمل (وربما يفقد تغييراتك ، وما إلى ذلك). `git fetch git diff ...origin `