هل أنت جديد في فريق وتم توجيهك لاستنساخ فرع بعيد من مستودع الكود Git؟ سواء كنت جزءًا من مؤسسة كبيرة أو فريق مضغوط، فإن إتقان فروع Git البعيدة مفتاح للتعاون السلس في الكود. في هذا الدليل، نغوص في عملية استرجاع الكود من مستودع Git بعيد، مع التركيز على أمر ‘git checkout remote branch’.
Not a reader? Explore this related video tutorial!
Not seeing the video? Ensure your ad blocker is disabled.
المتطلبات الأساسية
- يستخدم هذا البرنامج التعليمي الإصدار 2.30 من Git SCM (إدارة الكود المصدري) على ويندوز 10، على الرغم من أنه متوافق مع أي نظام تشغيل يدعم Git.
طرق التثبيت الأخرى المحتملة للويندوز تشمل Chocolatey و Git4Win.
- A remote Git repository from platforms like GitLab, GitHub, or Azure DevOps is required. This article provides sample repositories for a hands-on experience, or you can utilize your own.
فهم فرع بعيد
مستودعات Git تسجل وتتبع سلسلة من الالتزامات المتعلقة ضمن فرع. بشكل افتراضي، يقع الالتزام في الفرع النشط حاليًا، والذي يطلق عليه عادة main
أو master
.
A remote branch is a branch located in a remote Git repository. These remote repositories, termed as “remotes,” are the destinations your local Git repository will scout for external commit updates once set up.
اكتشف الفروع المتاحة باستخدام أمر الـ Git branch
. الفرع الذي يحمل علامة النجمة (*
) هو الفعّال. الفروع المدرجة أدناه هي محلية فقط حيث لم يتم جلب أي فروع من بعد بعد.

git branch
command.التمرس على Git Checkout Remote Branch
فلنفترض أن لديك مستودع Git محلي ويحدوك الحاجة للتعاون مع مطورين آخرين. هنا يأتي دور أمر Git checkout
لتمكينك من جلب أحدث الالتزامات من فرع بعيد في مستودع Git على البعد.
بمجرد تكوين فرع بعيد، سيقوم Git بتكرار الفرع البعيد بدلاً من الفرع المحلي فقط. فيما يلي مثال على الأمر git checkout remote <branch>
.
استنساخ مستودع Git البعيد
الآن بمجرد أن يكون مستودع موجود في تصرفك، حان الوقت للتعمق. اتبع الخطوات التالية لاستنساخ المستودع البعيد إلى مجلد محلي على جهازك.
1. غالبًا ما يكون من الأسهل استنساخ مستودع بعيد عبر رابط HTTPS بدلاً من SSH لتجنب مشكلات الشهادة وجدران الحماية.
- انتقل إلى المستودع على GitHub.
- اضغط على زر Code وحدد HTTPS.
- انقر على أيقونة Clipboard المجاورة للرابط لنسخ الرابط إلى الحافظة.

٢. بعد نسخ عنوان الويب HTTPS إلى الحافظة الخاصة بك، قم بفتح واجهة سطر الأوامر باستخدام واجهة سطر الأوامر المفضلة لديك، مثل نافذة الأوامر في نظام Windows أو Terminal
٣. انتقل إلى المجلد الذي ترغب في أن يتم فيه استنساخ المستودع المستنسخ. لهذا البرنامج التعليمي، يتم استخدام المجلد git في دليل المنزل كما هو موضح في لقطات الشاشة. قم بتنفيذ الأمر التالي لنسخ المستودع، والذي ينشئ مجلدًا فرعيًا يحتوي على المستودع البعيد.

٤. انتقل إلى المستودع المستنسخ بالأمر، cd git-checkout-remote-branch
.
قم بتنفيذ الأمر التالي للحالة للتأكد من أن المستودع قد تم نسخه بنجاح. يكشف أمر Git status
الاختلافات بين الفرع المحلي والفرع البعيد، مما يساعد في تحديد ما إذا كان الفرع الخاص بك متصلاً ومُحَدَّثًا! يُسمى المستودع البعيد الافتراضي لـ Git origin
، مُسبَوقًا للفرع البعيد main
. git status

بالنسبة لمعظم برمجيات Git الحديثة ،
main
هو الفرع الأساسي الافتراضي. قد تواجه تطبيقًا قديمًا يستخدمmaster
كاسم فرعه الافتراضي ، ولكن كل من الأسماء تعمل بنفس الطريقة. يستخدم هذا البرنامج التعليمي فروعًا باسمmain
،RemoteBranch
،SomeBranch
، وAnotherBranch
.
ما هو الـ Git Remote وكيفية تتبع الفروع البعيدة
ينشئ استنساخ مستودع إشارة تشير تلقائيا إلى مصدر بعيد، المعروف باسم بعيد. يُستخدم هذا المرجع للتحقق من وجود تعديلات جديدة أو دفع تغييرات جديدة إلى مستودع بعيد.
A Git repository itself may have multiple remotes, but a branch can only reference a single remote.
تتبع فرع بعيد ينشئ علاقة مع فرع محلي. تُمكن هذه العلاقة من دفع أو سحب التعديلات بسهولة من فرع بعيد إلى فرع محلي. علاوة على ذلك ، يحدد الفرع المتتبع مدى تقدم أو تأخر الفرع المحلي في التعديلات عن الفرع البعيد.
عرض مستودع Git للبعيدين
أولاً ، تأكد من أن المستودع الذي تعمل عليه يحتوي على أي بعيدي Git. للقيام بذلك ، اعرض بعدي Git في مستودعك باستخدام الأمر git remote
كما هو موضح أدناه. في هذا المثال ، يتم عرض بعدين ، origin
و remote2
.

تحمل مستودعات البعيد المتتبعة اثنين إضافيين تسميات
origin
وremote2
، حيث قد تكون بعيديك مختلفة.
للحصول على مزيد من التفاصيل حول الريموتات المكونة، أضف مفتاح الأمر v
لعرض عنوان URI الكامل لريموت Git.

قد تتساءل لماذا هناك عناوين URI منفصلة لعمليات
fetch
وpush
. بعض تدفقات العمل في Git تسمح لك بفحص التحديثات في مستودع بعنوان URI مختلف عن الذي يمكنك من خلاله إرسال التغييرات، ويُطلق عليها تدفق الثلاث نقاط.
عرض الفروع البعيدة المتاحة
عرض جميع الفروع المتاحة، سواء المحلية أو البعيدة، في مستودعك باستخدام أمر branch
. لعرض الفروع البعيدة أيضًا، ألصِق الخيار all
، كما هو موضح أدناه.
في الصورة أدناه، يظهر المستودع البعيد origin المستخدم في هذا البرنامج التعليمي كما هو متوقع. ومع ذلك، تغفل هذه الصورة عن جميع الفروع من المستودع البعيد المسمى Remote2.

إذا لم يظهر فرع على ريموتك في قائمة الفروع، يجب عليك تحديث قائمتك من الفروع البعيدة المتاحة كما هو موضح في القسم التالي.
تحديث الفروع البعيدة المتاحة
في بعض الأحيان، قد يقوم مستودع بعيد بإضافة أو تغيير الفروع. لضمان أنك تعمل مع الفروع الأحدث، من الضروري تشغيل أمر git fetch
.
الأمر fetch
يتصل بالمستودع البعيد، مسترجعًا قائمة بجميع الفروع المتاحة. اعرض الفروع المتتبعة حاليًا بعد تشغيل أمر git fetch
لرؤية أن الفرع البعيد ظاهر الآن، كما هو موضح أدناه.
أدناه، الفرع remotes/origin/RemoteBranch
ظاهر الآن في قائمة الفروع البعيدة المتاحة بعد تنفيذ أمر git fetch
.

git fetch
to update the list of available remote branches.يقوم أمر fetch
بفحص التحديثات من البعيد الذي يتم تتبعه حاليًا في الفرع الحالي. لكي يقوم Git بالتحقق من التحديثات من جميع البعيدين في المستودع، بغض النظر عن حالة التتبع، أضف المعامل all
.
لاسترجاع الفروع المتاحة من بعيد محدد، قم بتضمين اسم البعيد في أمر git fetch
، مثل Remote2
في المثال أدناه، الذي يسترجع الفرع، main
.

main
from remote2
with the git fetch
command.في أي وقت تقوم فيه بالتحقق من التحديثات البعيدة باستخدام
git fetch
,git pull
, أوgit push
, يقارن Git التعهدات مع الفرع البعيد. يمكن للفروع المحلية تتبع أي فرع بعيد في Git. بالإضافة إلى ذلك، يمكن تعيين العديد من الفروع المحلية لتتبع نفس الفرع البعيد.
عرض تتبع كل فرع بعيد
لرؤية الفرع البعيد المتتبع جنبًا إلى جنب مع الفرع المحلي المقابل، استخدم المعلمة vv
مع الأمر git branch
. نتائج الأمر تعرض قائمة من الفروع والبعيدة في تنسيق [<remote>/<branch>]
كما هو موضح أدناه.

تغيير تتبع الفرع البعيد
قد تكون هناك حاجة لتغيير الفرع المحلي لتتبع فرع بعيد مختلف. لتعيين الفرع الحالي الخاص بك لفرع بعيد معين، استخدم المعلمة u
، كما هو موضح أدناه.

التحقق من فروع Git البعيدة
مع فروع جديدة تم إنشاؤها على مستودع Git البعيد، قد تحتاج إلى إجراء عملية فحص فرع بعيد Git. يتم تنفيذ فحص فرع مستودع بعيد عن طريق الأمر checkout
.
إذا تم تحقيق الشروط التالية، سيقوم Git بتحديد الوحدة النائية المناسبة تلقائيًا، وتنزيل نسخة محلية من الفرع النائي، وضبط النسخة المحلية لتتبع الفرع النائي. تحقق من عدم تحقق الشروط التالية من خلال نتائج الأمر git branch --all
.
- A local branch with the same name does not already exist.
- لا وجود لعدة وحدات نائية تستخدم نفس اسم الفرع النائي.
لأداء عملية git checkout على فرع نائي، استخدم الأمر git checkout
واكتب اسم الفرع النائي كما هو موضح أدناه.

git checkout
.إذا كان مستودعك المحلي يحتوي بالفعل على فرع محلي بنفس الاسم، فأضف المعلمة b
لتحديد اسم فرع محلي بديل قبل فرع الوحدة النائية لتحقق.

إذا كان مستودعك المحلي يحتوي على عدة وحدات نائية بنفس اسم الفرع، فحدد أي وحدة نائية وفرع لتتبع الالتزامات المحلية ضدها.

قد تفضل الإصدارات المستقبلية من Git أن تستخدم الأمر
git switch
لتغيير وإنشاء الفروع. أمر Gitswitch
مخصص فقط للفروع بينما لأمر Git checkout العديد من القدرات. كتب Irshad S. دليلًا جيدًا عن السبب في ذلك إذا كنت ترغب في قراءة المزيد حوله.
دفع فرع محلي إلى وحدة نائية
بمجرد إنشاء فرع محلي بدون فرع بعيد مقابل لتتبعه، يمكنك دفع الفرع إلى البعيد باستخدام الأمر git push
. أفضل طريقة لإنشاء فرع جديد على البعيد المفضل لديك هي استخدام المعلمة u
.
المعلمة u
، كما تم استخدامها سابقًا، تتطلب وسيط المستودع واسم فرع المصدر. عند تحديد HEAD
فقط كاسم فرع المصدر، يفهم Git استخدام اسم الفرع المحلي الحالي كاسم على البعيد، في هذه الحالة، NewBranch
.

HEAD
هو اختصار يعني ببساطة الفرع الحالي. يمكنك دفع فروع أخرى إلى البعيد وإنشاء تتبع باستخدام اسمها بدلاً منHEAD
.
في بعض الأحيان، اسم الفرع المحلي الحالي لا يتطابق مع اسم الفرع البعيد. لاستخدام اسم مختلف، حدد اسم الفرع المطلوب بعد المصدر، متصلاً بفاصلة، كما هو موضح أدناه.

خطوات التالية وموارد Git الإضافية
بعد مراجعة أساسيات Git وإدارة البعد البعيد، وأداء فحص Git لفرع بعيد، أصبحت مجهزًا الآن بثروة من المعرفة التي ستساعد في تجنب الإحباطات المستقبلية. خطوات فحص فرع بعيد في Git والممارسات الجيدة المشتركة ستكون مصادر ثمينة للغاية في التقدم.
إذا كنت ترغب في التعمق في جوانب أخرى لإدارة مستودع Git، فإن المصادر التالية موصى بها بشدة:
- A primer on detached heads: Discover scenarios where a detached HEAD is beneficial or inadvertent, and how to handle it.
- Git switch: أمر مخصص للتعامل مع الفروع، على عكس Git
checkout
الشامل.
Source:
https://adamtheautomator.com/git-checkout-remote-branch/