سؤال

لقد قمت بتسجيل الدخول كمستخدم أ على جهازي ، ولكن يمكن الوصول إلى الريبو الخاص بي من خلال اسم المستخدم ب على الخادم الذي أسحب منه.ال .gitmodules يحتوي الملف على url = ssh://domain.com/abc/def.git.

كيف يمكنني تكوين بوابة لاستخدام اسم المستخدم ب بدلا من عندما أفعل git submodule update?

هل كانت مفيدة؟

المحلول

أفترض أن الوحدة الفرعية قد تمت تهيئتها بالفعل ، لذلك git config --list | grep ^submodule يظهر شيئا مثل submodule.my-submodule.url=ssh://domain.com/abc/def.git.

إذا لم تكن قد ركضت بعد git submodule update لأول مرة ، يمكنك فقط تغيير خيار التكوين هذا ، على سبيل المثال.مع:

git config submodule.my-submodule.url ssh://B@domain.com/abc/def.git

من ناحية أخرى ، إذا تم تحديث الوحدة الفرعية مرة واحدة بالفعل ، فعندئذ origin في الوحدة الفرعية سيتم تعيينها إلى أي خيار التكوين المحدد.في هذه الحالة ، ستحتاج إلى القيام بما يلي:

cd my-submodule
git config remote.origin.url ssh://B@domain.com/abc/def.git

أخشى أن الأمر مربك بعض الشيء ، لكن الوحدات الفرعية مرنة للغاية.لقد حاولت شرح بعض هذه التفاصيل في بلوق وظيفة.

نصائح أخرى

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

ما عليك سوى إضافة هذه السطور إلى ~/.سه / التكوين:

Host domain.com
User B

(يستعاض عنه domain.com مع مجال خادم بوابة الخاص بك.) الآن ، حتى لو قمت بتسجيل الدخول إلى الجهاز المحلي الخاص بك كمستخدم أ ، سش سوف تستخدم ب كاسم المستخدم عند الاتصال بالخادم.

الآن يمكنك تشغيل git submodule update دون الحاجة إلى إضافة اسم مستخدم في تكوين جيت.

الإجابة المختصرة هي 'تحقق مما إذا كان يمكنك استخدام المسارات النسبية للوحدات الفرعية'

التفاصيل هي, لدينا وحدة فرعية يتم استخدامها بواسطة تطبيقات متعددة.لقد أبقينا الوحدة الفرعية في نفس الريبو.

الهيكل مثل هذا, الريبو

|-app1
|-app2
|-submod

عندما كنا استنساخ التطبيق التطبيق/.بوابة / التكوين يحصل على رابط مع المستخدم الحالي مثل 'userA@repo.com' في ال .جيتمودولز من التطبيقات نعطي ورل كما '../ سوبمود' وبهذه الطريقة ، عندما نفعل 'سوبودول إينيت' ، جيت يولد ورل المطلق ل سوبودول من ورل النسبي أعطينا في .جيتمودولز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top