freeCodeCamp/guide/arabic/git/git-pull/index.md

8.5 KiB

title localeTitle
Git Pull بوابة سحب

بوابة سحب

git pull هو أمر Git يستخدم لتحديث الإصدار المحلي لمستودع من جهاز تحكم عن بعد.

وهو واحد من الأوامر الأربعة التي تحفز التفاعل الشبكي من Git. بشكل افتراضي ، git pull يفعل شيئين.

  1. تحديث فرع العمل المحلي الحالي (الفرع المعتمد حاليا)
  2. تحديثات فروع التتبع عن بعد لجميع الفروع الأخرى.

git pull جلب الجيت ( git fetch ) تلتزم الجديدة git merge ( git merge ) هذه في الفرع المحلي.

بناء جملة هذا الأمر هو كما يلي:

`# General format git pull OPTIONS REPOSITORY REFSPEC

Pull from specific branch

git pull REMOTE-NAME BRANCH-NAME `

بحيث:

  • الخيارات هي خيارات الأوامر ، مثل --quiet أو --verbose . يمكنك قراءة المزيد عن الخيارات المختلفة في وثائق Git
  • REPOSITORY هو عنوان URL الخاص بك. مثال: https://github.com/freeCodeCamp/freeCodeCamp.git
  • تحدد REFSPEC أي من الحزم الذي سيتم جلبه والحلول المحلية المراد تحديثها
  • REMOTE-NAME هو اسم مستودع التخزين عن بعد. على سبيل المثال: الأصل .
  • BRANCH-NAME هو اسم الفرع الخاص بك. على سبيل المثال: تطوير .

ملحوظة

إذا كان لديك تغييرات غير ملتزم بها ، فسوف تفشل عملية دمج الأمر git pull وسيتم إلغاء الفرع المحلي الخاص بك.

وبالتالي ، يجب عليك دائمًا الالتزام بتعديلاتك في فرع قبل سحب طلبات جديدة من مستودع بعيد.

جدول المحتويات

باستخدام سحب بوابة

استخدم git pull لتحديث مستودع محلي من مستودع بعيد عن بعد. على سبيل المثال: أثناء العمل محليًا على الصفحة master ، يمكنك تنفيذ git pull لتحديث النسخة المحلية من master وتحديث فروع التتبع عن بُعد الأخرى. (مزيد من المعلومات حول فروع التتبع عن بُعد في القسم التالي.)

ولكن هناك بعض الأمور التي يجب تذكرها في هذا المثال:

  • يحتوي المستودع المحلي على مستودع تخزين بعيد مرتبط
  • تحقق هذا عن طريق تنفيذ git remote -v
  • إذا كان هناك أجهزة git pull عن بعد متعددة ، فقد لا يكون git pull معلومات كافية. قد تحتاج إلى إدخال git pull origin أو git pull upstream .
  • يحتوي الفرع الذي تم سحبه حاليًا على فرع تتبع عن بعد
  • تحقق من هذا عن طريق تنفيذ git status . إذا لم يكن هناك فرع تتبع عن بعد ، لا يعرف Git مكان سحب المعلومات منه .

تحكم الإصدار الموزع

Git هو نظام التحكم في إصدار الموزعة (DVCS). مع DVCS ، يمكن للمطورين العمل على نفس الملف في نفس الوقت في بيئات منفصلة. بعد دفع الكود إلى مستودع بعيد مشترك ، يمكن للمطورين الآخرين سحب التعليمات البرمجية التي تم تغييرها.

تفاعلات الشبكة في Git

لا يوجد سوى أربعة أوامر تطالب بتفاعلات الشبكة في Git. لا يوجد لدى المستودع المحلي أي وعي بالتغييرات التي تم إجراؤها على المستودع البعيد حتى يكون هناك طلب للحصول على معلومات. والمستودع عن بعد ليس لديه وعي بالتغييرات المحلية حتى يتم دفع الإلتزامات.

أوامر الشبكة الأربعة هي:

  • git clone
  • git fetch
  • git pull
  • git push

الفروع في DVCS

عند العمل مع Git ، يمكن أن تشعر أن هناك الكثير من نسخ الشفرة نفسها التي تطفو في كل مكان. هناك إصدارات مختلفة من نفس الملف على كل فرع. ونسخ مختلفة من نفس الفروع على كل كمبيوتر المطور وعلى جهاز التحكم عن بعد. لتتبع هذا ، يستخدم Git شيئًا يسمى فروع التتبع عن بُعد .

إذا قمت بتنفيذ git branch --all داخل مستودع Git ، تظهر فروع التتبع عن بعد باللون الأحمر. هذه هي نسخ للقراءة فقط من التعليمات البرمجية كما تظهر على جهاز التحكم عن بعد. (متى كان آخر تفاعل على الشبكة قد جلب المعلومات محليًا؟ تذكر متى تم تحديث هذه المعلومات آخر مرة. تعكس المعلومات الواردة في فروع التتبع عن بعد المعلومات من هذا التفاعل).

مع فروع التتبع عن بعد ، يمكنك العمل في Git على عدة فروع بدون تدخل الشبكة. في كل مرة تنفذ فيها أوامر git pull أو git fetch ، يمكنك تحديث فروع التتبع عن بُعد .

git fetch plus git merge

git pull هو أمر git fetch ، يساوي git fetch + git merge .

جلبه

من تلقاء نفسه ، git fetch التحديثات جميع فروع التتبع عن بعد في المستودع المحلي. لا تنعكس أي تغييرات في الواقع على أي من فروع العمل المحلية.

اندماج

وبدون أي حجج ، سيقوم git merge فرع التتبع عن بعد المقابل إلى فرع العمل المحلي.

سحب بوابة

git fetch تحديثات عن بعد فروع الفروع. git merge بتحديث الفرع الحالي بفرع التتبع البعيد المطابق. باستخدام git pull ، ستحصل على كلا جزئي هذه التحديثات. ولكن ، هذا يعني أنه إذا تم سحبك feature الفرع وقمت بتنفيذ git pull ، عند إجراء السحب master ، لن يتم تضمين أية تحديثات جديدة. عندما تقوم بالسداد إلى فرع آخر قد يكون لديه تغييرات جديدة ، فمن الأفضل دائمًا تنفيذ git pull .

سحب بوابة في IDEs

قد لا تتضمن اللغة الشائعة في IDES الأخرى الكلمة pull . إذا نظرت إلى كلمات git pull ولكن لا تراها ، فابحث عن كلمة sync بدلاً من ذلك.

fethcing PR البعيد (سحب الطلب) في الريبو المحلي

ولأغراض المراجعة ، يجب جلب المستفيدين الرئيسيين في المناطق النائية إلى الريبو المحلي. يمكنك استخدام أمر git fetch النحو التالي لتحقيق ذلك.

git fetch origin pull/ID/head:BRANCHNAME

المعرف هو معرف طلب السحب و BRANCHNAME هو اسم الفرع الذي تريد إنشاءه. بمجرد إنشاء الفرع ، يمكنك استخدام git checkout للتبديل إلى هذه الفرشاة.

موارد أخرى على سحب جيت

موارد أخرى على بوابة في guide.freecodecamp.org