ماذا يفعل الأمر `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 بعدة خطوات هامة، وهي:
- الاتصال بالمستودع البعيد: يتصل Git بالمستودع البعيد الذي تم تحديده (عادةً
origin
) لتحديد ما إذا كانت هناك أي تحديثات جديدة. - جلب التحديثات: يقوم Git بجلب أي تغييرات تم إجراؤها على الفروع البعيدة. هذه التغييرات قد تتضمن إضافة ملفات جديدة أو تعديل أو حذف ملفات في المستودع البعيد.
- تخزين التحديثات: يتم تخزين التحديثات المجلوبة في Git في نسختك المحلية من المستودع، ولكنها لا يتم دمجها مباشرة في الفرع الذي تعمل عليه.
- إظهار التحديثات: يمكن بعد ذلك استخدام الأوامر مثل
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 البعيد إلى مستودعك المحلي بشكل آمن، مما يتيح لك فرصة مراجعة التغييرات قبل دمجها في عملك الحالي.