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 خيار

الخيارات

انقر على أي خيار لتوسيعه

مبتدئ (1)

عرض عنوان كل مستودع بعيد، للجلب والدفع.

موصى بهمعرفة العنوان الذي تجلب منه وتدفع إليه بالضبط

مثال

git remote -v

اختيار الخيار المناسب

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> — وتذهب معه فروع التتبّع البعيدة.