انتقل إلى المحتوى

تغيير الـ remote محليًا

بعد نقل الـ repository إلى ليڤانت غيت (LevantGit) يبقى جهازك ينفّذ push إلى GitHub حتى تغيّر الـ remote في الـ clone المحلي. أمر واحد — git remote set-url origin مع العنوان الجديد — يحسم الأمر، أو أضف ليڤانت غيت كـ remote ثانٍ لتُبقي الوجهتين معًا. التغيير محلي، فيلزم تكراره على جهاز كل زميل وكل خادم ينفّذ clone.

أولًا: أين تدفع الآن؟

افتح الطرفية داخل مجلد المشروع واكتب:

git remote -v

ستجد شيئًا مثل:

origin  https://github.com/username/repo.git (fetch)
origin  https://github.com/username/repo.git (push)

origin هو الاسم المعتاد للـ remote الرئيسي. سنوجّهه إلى ليڤانت غيت.

الخيار الأول: استبدال origin (الأبسط)

اختر الشكل الذي تستخدمه للمصادقة:

git remote set-url origin https://levantgit.com/username/repo.git

عند أول push سيطلب Git اسم المستخدم وكلمة المرور. إن كان الـ 2FA مفعّلًا، أو فضّلت عدم كتابة كلمة مرورك، فأنشئ access token من SettingsApplications في ليڤانت غيت واستخدمه مكان كلمة المرور.

git remote set-url origin [email protected]:username/repo.git

يحتاج SSH key مضافًا إلى حسابك. الخطوات في مفاتيح SSH خطوة بخطوة.

ثم تحقّق:

git remote -v
git fetch origin
git push

إن نجح git push بلا أخطاء فكل شيء في مكانه، وستعمل git pull وgit push كما اعتدت.

ملاحظة

استبدل username/repo بالـ owner والاسم كما يظهران في رابط الـ repository على ليڤانت غيت. الـ owner قد يكون organization لا حسابك.

الخيار الثاني: إبقاء GitHub وليڤانت غيت معًا

مفيد في فترة انتقالية، أو إن أردت نسخة احتياطية يدوية. طريقتان:

أ. remotes باسمين

git remote add levantgit https://levantgit.com/username/repo.git
git push levantgit main

الآن origin ما زال GitHub، وlevantgit هو ليڤانت غيت. تنفّذ push إلى كل واحد باسمه: git push origin main وgit push levantgit main. وإن أردت جعل ليڤانت غيت الأساسي لاحقًا فأعد تسميتهما:

git remote rename origin github
git remote rename levantgit origin

ب. push واحد يصل إلى المكانين

أبقِ origin على GitHub وأضف عنوان ليڤانت غيت كوجهة push ثانية:

git remote set-url --add --push origin https://github.com/username/repo.git
git remote set-url --add --push origin https://levantgit.com/username/repo.git

بعدها git push يدفع إلى الاثنين في أمر واحد، بينما git pull يسحب من GitHub فقط. (السطر الأول ضروري لأن أول --add --push يستبدل عنوان الـ push الأصلي بدل أن يضيف إليه.)

نصيحة

إن كنت تريد تزامنًا تلقائيًا لا يعتمد على أن يتذكّر كل زميل الـ push مرتين، فالأنسب هو الـ push mirror من ليڤانت غيت إلى GitHub.

من أجل الفريق كله

التغيير محلي؛ لا ينتقل مع الـ repository. أرسل لزملائك الأمر المناسب (أو هذه الصفحة)، وتأكد أن كل جهاز أو خادم ينشر من الـ repository — خادم اختبار، أداة نشر، جهاز المنزل — حُدِّث أيضًا. وإن كان الـ CI/CD ينفّذ clone من GitHub فغيّر مصدره هو الآخر.

مستخدمو VS Code

الأوامر نفسها تعمل من الطرفية المدمجة: TerminalNew Terminal، ثم الصق أمر git remote set-url. بعدها زرّا Sync Changes وPush في لوحة Source Control يتجهان إلى ليڤانت غيت تلقائيًا. تفاصيل الربط في VS Code مع ليڤانت غيت.

ماذا بعد؟