السلام عليكم ، لماذا تظهر هذا الايقونة عندما اقوم برفع الملفات في github ولذلك عند القيام بامر git push ، فمن المعتاد بان تظهر ايقونة تسجيل الدخول للحساب و الرقم السري و لكن لم تظهر هذا الايقونة و استبدلة بما في الصورة
استفسار حول رفع الملفات في github
تظهر هذه النافذة عند رفع الملفات إلى Github في حال لم يتم تخزين بيانات الاعتماد الخاصة بك (اسم المستخدم وكلمة المرور) في مدير بيانات اعتماد Git.
وعند عدم وجود بيانات الاعتماد، يتطلب Git من المستخدم تحديد أداة إدارة بيانات الاعتماد التي يجب استخدامها لتوفير بيانات الاعتماد المطلوبة.
مثلاً، بإمكان Git تخزين بيانات الاعتماد في مدير بيانات الاعتماد المثبت على نظام التشغيل الخاص بك، مثل Git Credential Manager for Windows أو macOS Keychain، وأيضًا تخزين بيانات الاعتماد في ملف تكوين Git الخاص بك، والذي يمكن تكوينه باستخدام الأمر git config.
وإذا لم يكن لديك بيانات اعتماد مخزنة مسبقًا، تستطيع اختيار "no helper" من الخيارات المتاحة في النافذة التي ظهرت لديك، ومن ثم ستظهر لك نافذة تسجيل الدخول للحساب الخاص بك في Github لإدخال بيانات الاعتماد الخاصة بك.
ويجب التنبيه عند اختيار "no helper"، سيعود Git إلى السلوك الافتراضي حيث يتطلب منك إدخال اسم المستخدم وكلمة المرور في كل مرة تريد فيها رفع الملفات إلى Github.
وعندما تدخل بيانات الاعتماد الخاصة بك، ستتم تخزينها مؤقتاً في الذاكرة المؤقتة (cache) لـ Git حتى يتم الانتهاء من العملية، وبالتالي، سيتطلب منك إعادة إدخال بيانات الاعتماد الخاصة بك في كل مرة تريد فيها القيام بعمليات رفع الملفات إلى Github.
تستطيع استخدام الأدوات المساعدة لإدارة بيانات الاعتماد مثل Git Credential Manager for Windows لتخزين بيانات الاعتماد الخاصة بك بشكل دائم، وهذا سيمكن Git من تخزين بيانات الاعتماد الخاصة بك وإعادة استخدامها في المستقبل دون الحاجة لإعادة إدخالها في كل مرة.
ولتخزين بيانات الاعتماد الخاصة بك عليك بأداة إدارة بيانات الاعتماد الخاصة بـ Git، ويمكن تحديد أداة إدارة بيانات الاعتماد باستخدام الأمر التالي:
git config --global credential.helper <helper>
حيث <helper> هو اسم الأداة التي تريد استخدامها، مثل store أو cache أو wincred، وهي أدوات مدمجة في Git، وأيضًا استخدام أدوات إدارة بيانات الاعتماد الخارجية مثل git-credential-manager-core أو gnome-keyring.
ولتخزين بيانات الاعتماد باستخدام الأداة المحددة، عليك بتشغيل الأمر التالي واستبدال <username> بمعرف المستخدم الخاص بك في GitHub و <password> بكلمة المرور الخاصة بك:
git credential-store --global store protocol=https host=github.com username=<username> password=<password>
سيتم بتخزين بيانات الاعتماد في ملف .git-credentials في مجلد المستخدم الخاص بك، وبعد ذلك، تستطيع استخدام أمر git push لرفع الملفات إلى مستودع GitHub الخاص بك دون الحاجة لإعادة إدخال بيانات الاعتماد الخاصة بك في كل مرة.
يبدو أن الصورة التي قمت بمشاركتها توضح أنك تستخدم بروتوكول SSH للتواصل مع خادم GitHub، وهذا شيء طبيعي ولا يشكل أي مشكلة. ولكن يجب الاشارة أنه عند استخدام بروتوكول SSH، ستحتاج إلى إدخال مفتاح SSH الخاص بك بدلاً من اسم المستخدم وكلمة المرور، ولذلك لا تظهر لك النافذة القياسية لتسجيل الدخول.
يمكنك على كل حال إضافة اسم مستخدم GitHub وكلمة مرورك في ذاكرة التخزين المؤقت لشهادة المصادقة الخاصة بك، وسيطلب منك Git إدخال اسم المستخدم وكلمة المرور لكل دفعة (push) تقوم بها. يمكنك القيام بذلك باستخدام الأمر التالي:
git config credential.helper cache
ستكون معلومات الاعتماد الخاصة بك مخزنة في ذاكرة التخزين المؤقت لمدة 15 دقيقة. إذا كنت ترغب في تغيير هذا الوقت، يمكنك تعيين قيمة أخرى للخيار helper:
git config credential.helper 'cache --timeout=3600'
ستحدد هذه القيمة وقت انتهاء صلاحية المعلومات المخزنة في ذاكرة التخزين المؤقت بـ 3600 ثانية (وهي ساعة واحدة).
أما إذا كنت تفضل استخدام اسم المستخدم وكلمة المرور بدلاً من المفتاح الخاص بـ SSH،يرجى الاشارة.
التعليقات