git remote
المشاركة والتحديث
إدارة المستودعات البعيدة التي تتزامن معها
يسرد الأمر 'git remote' المستودعات البعيدة ويضيفها ويزيلها — وهي أسماء قصيرة لعناوين مستودعات أخرى. ينشئ git clone واحدًا باسم origin. وعادة تضيف النسخ المتفرّعة (forks) ثانيًا، upstream، يشير إلى المشروع الأصلي. إضافة مستودع بعيد لا تنزّل شيئًا؛ git fetch <name> هو من يفعل.
الصيغة
git remote [-v | --verbose]
git remote add <name> <url>
git remote remove <name>
git remote rename <old> <new>
git remote set-url <name> <newurl>
git remote show <name>[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار
الخيارات
اختيار الخيار المناسب
origin مقابل upstream
المستودعان البعيدان المعتادان لنسخة متفرّعة
| الأمر | يشير إلى | تدفع إليه؟ |
|---|---|---|
origin | نسختك (الـ fork) | نعم |
upstream | المشروع الأصلي | لا — تجلب منه بـ fetch |
أمثلة
سرد المستودعات البعيدة
git remote -vالأسماء مع عناوينها.
إضافة الأصل لنسخة متفرّعة
git remote add upstream git@github.com:acme/shop.gitمستودع بعيد ثانٍ.
تغيير عنوان
git remote set-url origin git@github.com:you/shop.gitمثلًا الانتقال من HTTPS إلى SSH.
التفاصيل
git remote show originالفروع ومعلومات التتبّع.
أمثلة على سير العمل
1
git remote add upstream git@github.com:acme/shop.gitمرة واحدة
2
git fetch upstreamتنزيل الـ commits الخاصة به
3
git merge upstream/mainإدخالها إلى main لديك
4
git pushتحديث نسختك
حل المشكلات
error: remote origin already exists
السبب: الاسم مستخدم
استخدم set-url لتغييره، أو اسمًا آخر
fatal: 'upstream' does not appear to be a git repository
السبب: المستودع البعيد غير مُعَدّ
أضفه بـ git remote add
نصائح وأخطاء شائعة
أفضل الممارسات
- ✓سمِّ المستودع الأصلي للنسخة المتفرّعة upstream.
- ✓تحقّق من git remote -v قبل أول دفع.
أخطاء متكررة
- ✗توقّع أن ينزّل git remote add الـ commits — شغّل git fetch بعده.
- ✗الدفع إلى upstream بدل origin في نسخة متفرّعة.
الأسئلة الشائعة
A:
git remote rename old new.
A:
git remote remove <name> — وتذهب معه فروع التتبّع البعيدة.