ماذا يفعل الأمر `git fetch`؟

عند العمل مع Git، يعتبر من المهم معرفة الأوامر الأساسية التي تساعدك في إدارة مستودعاتك البرمجية بشكل فعال. أحد الأوامر المهمة التي يتم استخدامها في Git هو الأمر git fetch. في هذه المقالة، سنشرح لك بشكل مفصل ماذا يفعل هذا الأمر وكيفية استخدامه بكفاءة. سوف نقدم لك تعريفاً واضحاً للـ git fetch، وشرحاً لكيفية عمله، وكذلك متى يجب استخدامه في سير العمل الخاص بك.

ما هو الأمر `git fetch`؟

الأمر git fetch هو أحد الأوامر الأساسية في Git، ويُستخدم لجلب التحديثات من مستودع Git البعيد (remote repository) إلى المستودع المحلي دون دمج هذه التحديثات مع الشجرة الحالية. بمعنى آخر، عند استخدام git fetch، يقوم Git بتحميل التحديثات من المستودع البعيد (مثل GitHub أو GitLab) إلى جهازك المحلي، لكنه لا يدمج هذه التحديثات مع الفرع الذي تعمل عليه حتى تقوم بذلك يدوياً.

على سبيل المثال، إذا كنت تعمل في مشروع يحتوي على عدة أشخاص آخرين يقومون بتحديث الشيفرة البرمجية، يمكنك استخدام الأمر git fetch للحصول على أحدث التحديثات من المستودع البعيد بدون التأثير على العمل الذي تقوم به حالياً.

كيفية استخدام الأمر `git fetch`

لتنفيذ الأمر git fetch، يجب أن يكون لديك مستودع Git محلي مرتبط بمستودع بعيد. يمكنك تنفيذ الأمر بكل بساطة عبر سطر الأوامر باستخدام الصيغة التالية:

git fetch [اسم المستودع البعيد] [الفرع]

في هذه الصيغة:

  • [اسم المستودع البعيد]: يشير إلى اسم المستودع البعيد الذي تريد جلب التحديثات منه. بشكل افتراضي، يُسمى المستودع البعيد بـ origin.
  • [الفرع]: هذا اختياري، وإذا قمت بتحديد فرع معين، يقوم Git بجلب التحديثات الخاصة بذلك الفرع فقط. إذا لم تحدد فرعاً، يقوم Git بجلب جميع الفروع المحدثة.

على سبيل المثال، لجلب التحديثات من الفرع الرئيسي من المستودع البعيد المسمى origin، يمكنك استخدام الأمر التالي:

git fetch origin master

في حالة عدم تحديد الفرع، سيقوم Git بجلب جميع الفروع المحدثة من المستودع البعيد.

ما الذي يحدث عند تنفيذ الأمر `git fetch`؟

عند تنفيذ الأمر git fetch، يقوم Git بعدة خطوات هامة، وهي:

  1. الاتصال بالمستودع البعيد: يتصل Git بالمستودع البعيد الذي تم تحديده (عادةً origin) لتحديد ما إذا كانت هناك أي تحديثات جديدة.
  2. جلب التحديثات: يقوم Git بجلب أي تغييرات تم إجراؤها على الفروع البعيدة. هذه التغييرات قد تتضمن إضافة ملفات جديدة أو تعديل أو حذف ملفات في المستودع البعيد.
  3. تخزين التحديثات: يتم تخزين التحديثات المجلوبة في Git في نسختك المحلية من المستودع، ولكنها لا يتم دمجها مباشرة في الفرع الذي تعمل عليه.
  4. إظهار التحديثات: يمكن بعد ذلك استخدام الأوامر مثل git log أو git diff لمراجعة التغييرات قبل دمجها.

الفرق بين `git fetch` و `git pull`

قد تكون متعودًا على استخدام الأمر git pull لجلب التحديثات من المستودع البعيد ودمجها مباشرة مع العمل الذي تقوم به. لكن هناك فرق رئيسي بين git fetch و git pull:

  • git fetch: يقوم بجلب التحديثات فقط من المستودع البعيد إلى المستودع المحلي دون دمجها في الفرع الحالي. أنت تتحكم في متى وكيف تدمج التحديثات بعد جلبها.
  • git pull: يقوم بجلب التحديثات من المستودع البعيد ثم يدمج هذه التحديثات مع الفرع المحلي الحالي. هذا يعني أن التغييرات يتم دمجها تلقائيًا في عملك المحلي.

إذا كنت ترغب في مراجعة التغييرات أولاً قبل دمجها مع عملك، يفضل استخدام git fetch، بينما إذا كنت واثقًا أنك ترغب في دمج التحديثات مباشرة في عملك، يمكنك استخدام git pull.

متى يجب استخدام `git fetch`؟

يمكنك استخدام الأمر git fetch في العديد من المواقف خلال سير العمل في Git، مثل:

  • مراجعة التحديثات قبل الدمج: عندما تريد الحصول على التحديثات من المستودع البعيد ولكنك ترغب في مراجعتها أولاً قبل دمجها مع عملك المحلي.
  • التأكد من أنك على آخر تحديثات: إذا كنت تعمل مع فريق وتريد التأكد أنك تعمل على آخر نسخة من الشيفرة البرمجية.
  • إعداد الفروع الجديدة: إذا كنت تريد إضافة فروع جديدة إلى مستودعك المحلي التي تم إنشاؤها في المستودع البعيد.

أمثلة عملية لاستخدام `git fetch`

إليك بعض الأمثلة العملية التي يمكن أن تستخدم فيها الأمر git fetch:

  • جلب جميع التحديثات: إذا كنت ترغب في جلب جميع التحديثات من المستودع البعيد دون تحديد فرع معين، استخدم الأمر التالي:
  • git fetch origin
  • جلب فرع معين: إذا كنت ترغب في جلب التحديثات من فرع معين في المستودع البعيد، استخدم:
  • git fetch origin feature-branch
  • مراجعة التغييرات بعد جلب التحديثات: بعد تنفيذ git fetch، يمكنك استخدام الأمر git log أو git diff لمراجعة التغييرات التي تم جلبها من المستودع البعيد قبل دمجها.

الخلاصة

في هذه المقالة، تعلمنا ما هو الأمر git fetch وكيفية استخدامه في Git. لقد استعرضنا كيفية تنفيذ الأمر، والفرق بينه وبين git pull، وكذلك المواقف التي يمكن أن تستخدم فيها هذا الأمر. باستخدام git fetch، يمكنك جلب التحديثات من مستودع Git البعيد إلى مستودعك المحلي بشكل آمن، مما يتيح لك فرصة مراجعة التغييرات قبل دمجها في عملك الحالي.

تم كتابة هذا المقال بهدف مساعدتك في تحسين استخدامك لأدوات Git وتحقيق أقصى استفادة منها في إدارة مشاريعك البرمجية.