عندما تقوم بعملية النسخ (Clone) في Git، يتم استخدام اسم المستخدم (Username) الذي تم تسجيل الدخول به لإجراء العملية. ومع ذلك، قد تحتاج أحيانًا إلى استخدام اسم مستخدم مختلف للوصول إلى المستودع (Repository) المطلوب. لحسن الحظ، يمكنك القيام بذلك بسهولة باستخدام بعض الخطوات الإضافية.
أحد الطرق للقيام بذلك هو باستخدام الـ “HTTPS URL” للمستودع وتعيين اسم المستخدم المطلوب بواسطة متغير البيئة GIT_ASKPASS. يمكنك تعيين هذا المتغير ليحتوي على اسم المستخدم الذي تريد استخدامه قبل تنفيذ عملية النسخ.
في نظام التشغيل Linux أو macOS، يمكنك فعل ذلك بالأمر التالي:
bashexport GIT_ASKPASS=echo
export GIT_USERNAME=12345
git clone https://github.com/username/repo.git
أو يمكنك تحديد اسم المستخدم مباشرة في عملية النسخ:
bashgit clone https://[email protected]/username/repo.git
وفي حال كنت تستخدم معرف SSH للوصول إلى المستودع، يمكنك تحديد المستخدم المطلوب في ملف تكوين SSH (~/.ssh/config) بشكل مباشر.
bashHost github.com HostName github.com User 12345
بعد ذلك، يمكنك القيام بعملية النسخ كالمعتاد:
bashgit clone [email protected]:username/repo.git
باستخدام أي من هذه الطرق، يجب أن تتمكن من استخدام اسم مستخدم مختلف للوصول إلى المستودع بنجاح.
المزيد من المعلومات
بالطبع، دعني أوضح بعض النقاط الإضافية وأقدم بعض الاقتراحات الأخرى التي قد تكون مفيدة أيضًا.
إضافةً إلى الطرق التي تم ذكرها لتحديد اسم المستخدم أثناء عملية النسخ، يمكنك أيضًا استخدام مفاتيح SSH المختلفة للوصول إلى حسابات Git المختلفة. على سبيل المثال، إذا كان لديك مفتاح SSH مختلف لكل حساب، يمكنك تعيين الـ SSH Key المناسب في ملف التكوين الخاص بـ SSH (~/.ssh/config) لكل مضيف (Host) على حدة.
bashHost github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal Host github-work HostName github.com User git IdentityFile ~/.ssh/id_rsa_work
بعد ذلك، يمكنك استخدام الـ SSH URL للمستودع بشكل مباشر مع تحديد المضيف المطلوب.
bashgit clone [email protected]:username/repo.git # للاستخدام الشخصي
git clone git@github-work:username/repo.git # للاستخدام في العمل
كما يمكنك استخدام الـ SSH Agent لإدارة المفاتيح والوصول إلى المستودعات بشكل أكثر أمانًا وسهولة.
علاوة على ذلك، يمكنك استخدام ملف تكوين Git (global git config) لتحديد اسم المستخدم والبريد الإلكتروني المرتبطين بكل مستودع. يمكنك فعل ذلك بالأمر التالي:
bashgit config --global user.name "Your Name"
git config --global user.email "[email protected]"
ثم يمكنك استخدام الـ SSH أو الـ HTTPS URL للمستودع بدون الحاجة إلى تحديد اسم المستخدم في كل عملية نسخ.
باستخدام أي من هذه الطرق، يمكنك الآن إجراء عمليات النسخ بسهولة باستخدام حسابات Git المختلفة دون الحاجة إلى تسجيل الدخول وتسجيل الخروج من الحسابات بشكل متكرر.