في هذا الدرس 6تصفّح المواضيع
حتى هذه المرحلة، كانت جميع الالتزامات والفروع وعمليات الدمج التي أنشأتها محفوظة بالكامل داخل مجلد .git المحلي على جهازك. ولحفظ نسخة احتياطية سحابية ومشاركة الكود مع فريق العمل، يربط Git مستودعك المحلي بما يُعرف باسم المستودع البعيد على منصات الاستضافة مثل GitHub أو GitLab أو Bitbucket.
وبدلاً من كتابة الرابط الشبكي الكامل في كل مرة تزامن فيها التعديلات، يحفظ Git اسماً مختصراً يعمل كعلامة مرجعية، ويُصطلح عالمياً على تسمية المستودع البعيد الأساسي للمشروع بالاسم origin.
git init
git status -s
# List configured remote aliases (empty initially)
git remote
عندما تبدأ مشروعاً محلياً بالأمر git init ثم تنشئ مستودعاً فارغاً على منصة GitHub، تربط المستودعين معاً عبر الأمر git remote add <alias> <url>. وفور إضافته، نفّذ الأمر git remote -v للتحقق من عنوانَي الجلب (fetch) والرفع (push) المسجلين.
git remote add origin https://github.com/closetag/web-app.git
git remote -v
# origin https://github.com/closetag/web-app.git (fetch)
# origin https://github.com/closetag/web-app.git (push)
توفر منصة GitHub صيغتين أساسيتين لعناوين ربط المستودعات البعيدة:
- عناوين بروتوكول HTTPS القياسية: تبدأ بالصيغة
https://github.com/owner/repo.gitوتعمل عبر المنفذ443متجاوزةً جدران الحماية المؤسسية بسهولة، وتعتمد على مدير بيانات الاعتماد أو رمز الوصول الشخصي. - عناوين بروتوكول SSH المشفرة: تأتي بالصيغة
[email protected]:owner/repo.gitوتعمل عبر المنفذ22باستخدام زوج مفاتيح تشفير دون الحاجة لإدخال رموز نصية متكررة.
# Add secondary backup remote using SSH format
git remote add backup [email protected]:closetag/web-app.git
git remote -v
# Inspect stored remote sections inside .git/config
git config --local --list
إذا انتقل المشروع إلى حساب مؤسسي جديد على GitHub، أو تغير اسم المستودع، أو قررت التحول من بروتوكول HTTPS إلى SSH، فلا داعي لحذف الرابط وإعادة إنشائه؛ بل استخدم الأمر git remote set-url لتحديث العنوان الحالي في مكانه مباشرة.
# Switch origin from HTTPS to SSH in place
git remote set-url origin [email protected]:closetag/web-app.git
git remote get-url origin
# [email protected]:closetag/web-app.git
يتيح لك Git إعادة تنظيم ألقاب المستودعات البعيدة في أي وقت عبر أمرين فرعيين مباشرين:
- إعادة تسمية اللقب عبر rename: يغير الأمر
git remote rename <old> <new>الاسم المختصر ويحدّث جميع مراجع التتبع المرتبطة به تلقائياً. - فصل الرابط البعيد عبر remove: يزيل الأمر
git remote remove <alias>إعدادات الرابط من ملفك المحلي فقط دون حذف المشروع من السحابة أو المساس بالتزاماتك المحلية.
# Rename backup remote alias to mirror
git remote rename backup mirror
git remote -v
# Unlink mirror remote from local .git/config
git remote remove mirror
يوضح الجدول المرجعي التالي جميع الأوامر الفرعية لإدارة الروابط البعيدة عبر git remote وأثر كل منها على مستودعك المحلي:
| الأمر الفرعي | مثال الصيغة القياسية | الوظيفة الأساسية | الأثر على السجل المحلي |
|---|---|---|---|
git remote add | git remote add origin <url> | ربط لقب مختصر جديد بعنوان مستودع بعيد | يضيف الإعداد داخل .git/config |
git remote -v | git remote -v | عرض جميع الألقاب البعيدة مع عناوين الجلب والرفع | فحص قراءة فقط دون تعديل |
git remote set-url | git remote set-url origin <new-url> | تعديل عنوان الرابط الحالي بين HTTPS وSSH | يحدّث العنوان في مكانه فوراً |
git remote rename | git remote rename origin upstream | تغيير اسم اللقب البعيد ومراجع التتبع | يعيد تسمية المراجع المحلية بأمان |
git remote remove | git remote remove backup | فصل الرابط البعيد عن المستودع المحلي | يحافظ على كامل الالتزامات المحلية |
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس مفهوم المستودعات البعيدة والاسم القياسي origin، وربطت مستودعك المحلي بالعناوين السحابية عبر git remote add، وفحصت قنوات الجلب والرفع بـ git remote -v، وقارنت بين عناوين HTTPS وSSH وتحديثها أو فصلها بأمان. الخطوة التالية: انتقل الآن إلى الدرس 26 «المصادقة الآمنة عبر مفاتيح SSH ورموز الوصول PAT» لإعداد مفاتيح التشفير Ed25519 ورموز الوصول الشخصية على GitHub.
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Remote Repository المستودع البعيد
- نسخة من مستودع المشروع مستضافة على خادم شبكي أو سحابي مثل GitHub لأغراض النسخ الاحتياطي والتعاون الجماعي.
- للمراجعة
- 02 origin Alias اللقب الافتراضي origin
- الاسم المختصر القياسي المتفق عليه عالمياً في Git للإشارة إلى عنوان المستودع البعيد الأساسي للمشروع.
- للمراجعة
- 03 Remote URL عنوان المستودع البعيد
- المسار الشبكي بصيغة HTTPS أو SSH المسجل داخل ملف .git/config لتبادل البيانات مع الخادم السحابي.
- للمراجعة
- 04 git remote set-url أمر تحديث العنوان set-url
- الأمر الفرعي المسؤول عن تعديل رابط مستودع بعيد مسجل مسبقاً في مكانه دون الحاجة لحذفه وإعادة إضافته.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 URL URL
- Uniform Resource Locator
- العنوان الشبكي القياسي الذي يحدد موقع المستودع البعيد على الإنترنت.
- للمراجعة
- 02 HTTPS HTTPS
- Hypertext Transfer Protocol Secure
- بروتوكول نقل النصوص التشعبية الآمن عبر المنفذ 443 لتوثيق الاتصال برموز الوصول.
- للمراجعة
- 03 SSH SSH
- Secure Shell
- بروتوكول الشبكة المشفر عبر المنفذ 22 للمصادقة الآمنة باستخدام أزواج المفاتيح.
- للمراجعة
- 04 DVCS DVCS
- Distributed Version Control System
- معمارية التحكم الموزع بالإصدارات التي تمنح كل مطور مستودعاً كاملاً يرتبط بالمستودعات البعيدة.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
نفّذ الأمر git remote add origin مع عنوان المستودع ثم اعرض قناتي الجلب والرفع بالأمر git remote -v.
-
بدّل بين تبويبات المختبر التفاعلي لملاحظة كيف يحدّث الأمر git remote set-url عنوان origin من HTTPS إلى SSH.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.
لمحة عن التحدي10 أسئلة تنتظرك +
ماذا يمثل الاسم "origin" في مستودعات Git القياسية؟
يمثل origin الاسم المختصر الافتراضي المتفق عليه للإشارة إلى عنوان المستودع البعيد الأساسي.
أي أمر يعرض جميع ألقاب المستودعات البعيدة المسجلة مع عناوين (fetch) و(push) التفصيلية؟
يعرض الأمر git remote -v كل لقب بعيد مع رابطَي الجلب والرفع المرتبطين به.
لا يمكن ربط المستودع المحلي الواحد إلا بمستودع بعيد واحد فقط في الوقت نفسه.
خطأ؛ إذ يمكن للمستودع المحلي الواحد التسجيل والارتباط بعدة مستودعات بعيدة في آن واحد.
ما الصيغة الصحيحة لتسجيل رابط مستودع بعيد جديد باسم "origin"؟
تُستخدم صيغة git remote add origin متبوعةً بالرابط لتسجيل المستودع البعيد.
أي صيغة من العناوين التالية تمثل رابط SSH المشفر عبر المنفذ 22؟
تمثل الصيغة [email protected]:owner/repo.git عنوان الاتصال عبر بروتوكول SSH.
أي أمر فرعي يحدّث رابط مستودع بعيد قائم من HTTPS إلى SSH دون حذفه؟
يعدّل الأمر الفرعي git remote set-url الرابط المسجل في مكانه مباشرة.
كيف تعيد تسمية لقب مستودع بعيد من "backup" إلى "mirror"؟
يُستخدم الأمر git remote rename متبوعاً بالاسم القديم ثم الجديد.
يؤدي تنفيذ الأمر "git remote remove origin" إلى حذف المستودع نهائياً من خوادم GitHub.
خطأ؛ فالأمر يزيل الإشارة المرجعية من ملف .git/config المحلي فقط ولا يحذف المستودع من السحابة.
أين يخزن Git ألقاب وعناوين المستودعات البعيدة التي تضيفها للمشروع؟
تُحفظ إعدادات الروابط البعيدة داخل ملف الإعداد المحلي .git/config.
يطبع الأمر git remote get-url origin الرابط المسجل حالياً للقب origin.
صواب؛ إذ يعرض الأمر git remote get-url الرابط الفعلي المرتبط باللقب المحدد.