आप 'क्रेडिट क्रेडेंशियल-ऑक्सोचेचिन' में संग्रहीत क्रेडेंशियल्स को कैसे रीसेट करते हैं?


98

मैंने अपना खाता सेट करने के लिए GitHub निर्देशों का पालन किया है, और मैं क्लोन करने में सक्षम हूं, लेकिन मैं दूरस्थ रूप से पुश करने में असमर्थ हूं।

जब मैं "गिट पुश" करता हूं तो मुझे 403 त्रुटि मिलती है। इसका सही URL है। मैंने यह देखने के लिए "गिट क्रेडेंशियल-ऑक्सकिचैन गेट" की कोशिश की कि यह क्या दे रहा है, और यह गलत क्रेडेंशियल्स को प्रिंट करता है।

मुझे विश्वास है कि जो हुआ वह पहली बार है जब उसने क्रेडेंशियल्स के लिए पूछा, मैंने सोचा कि यह एक और एप्लिकेशन पूछ रहा था, और इसने गलत लोगों को अंदर डाल दिया।

मुझे बस इसे रीसेट करने की आवश्यकता है ताकि यह मेरे GitHub खाते के लिए सही किचेन आइटम का उपयोग करे।

मैंने कोशिश की:

git credential-osxkeychain erase
git credential-osxkeychain set

कार्यक्रम कभी कोई संकेत नहीं देता है। अगर मैं सही काम नहीं करता तो सेट "खराब इनपुट" कहेगा। मैंने " password=password", आदि में डालने की कोशिश की , लेकिन तब जब मैं एक "प्राप्त" करता हूं तो मुझे अभी भी पुराने मिलते हैं।

मैं यह पता नहीं लगा सकता कि ये कहाँ संग्रहीत किए जा रहे हैं, क्योंकि वे .itconfigure में नहीं हैं। इसके अलावा हाल ही में कोई चाबी का गुच्छा आइटम नहीं है जो यह हो सकता है। (मेरे किचेन में कई GitHub खाते हैं और यह उनमें से किसी का भी उपयोग नहीं कर रहा है।)


संबंधित, क्रेडेंशियल हेल्पर अज्ञेय: stackoverflow.com/questions/21745213/…
Ciro Santilli Sant per per per ''

विंडोज पर समान रूप से: stackoverflow.com/questions/15381198/…
Ciro Santilli 病

जवाबों:


122

टर्मिनल से:

 $ git credential-osxkeychain erase
 host=github.com
 protocol=https
 <press return>

ध्यान दें: ऊपर "प्रोटोकॉल = https" दर्ज करने के बाद आपको ~~ RETURN ~~ TWICE प्रेस करना होगा


2
किसी कारण से मुझे किचेन ऐप के भीतर कोई Git / GitHub क्रेडेंशियल्स नहीं मिला, लेकिन यह काम किया। धन्यवाद!
डोनाल्ड

4
चूंकि यह मेरे लिए स्पष्ट नहीं था: आपको उपरोक्त सभी 3 पंक्तियों को दर्ज करना होगा, और फिर फिर से प्रेस करना होगा - यानी ऊपर 2/3 लाइनें कमांड से आउटपुट नहीं हैं, लेकिन इनपुट।
फ्रेडरिक

इस जवाब से मुझे मदद मिली। आपका बहुत बहुत धन्यवाद!
केन फ्लेक

70

मुझे यकीन नहीं है कि कमांड लाइन के माध्यम से कैसे मिटाया जाए, लेकिन किचेन एक्सेस ऐप के माध्यम से इसे करना काफी आसान है। बस एप्लिकेशन -> यूटिलिटीज -> किचेन एक्सेस पर जाएं, फिर "github.com" दर्ज करें। आप या तो अमान्य आइटम हटा सकते हैं या ऐप से पासवर्ड अपडेट कर सकते हैं।


4
अगर कोई इस आंकड़े को पढ़ता है कि कमांड लाइन से कैसे करें, तो यह जानना अच्छा होगा।
फन

1
@funroll कमांड लाइन टूल है security। मैन पेज बताता है कि इसमें एक delete-internet-passwordकमांड है।
बेन्जादो

अपडेट के लिए धन्यवाद, मुझे यकीन है कि यह किसी के लिए उपयोगी होगा।
फनल

यह सबसे अच्छा समाधान है
एलियास फज़ेल

किस किचेन से?
ब्रायन ब्रायस

28

समाधान यह निकला:

कमांड मेरे किचेन git credential-osxkeychainमें पहली GitHub खाता प्रविष्टि का उपयोग कर रहा था । यह वह नहीं था, जिसकी परियोजनाओं में पहुंच थी।

मैंने किचेन एक्सेस में खाते को छूकर समस्या का समाधान किया, ताकि इसकी तारीख बदल जाए (मुझे लगता है कि मैंने अभी टिप्पणी बदल दी है) और अब जब यह सबसे हाल ही में GitHub खाता बन गया, तो यह क्रेडेंशियल-ऑक्सकिचेचिन में लौटा पहला पहला बन गया, और इस तरह सब कुछ काम कर गया ।

कई GitHub खातों के लिए समर्थन का एक बेहतर रूप अच्छा होगा, लेकिन यह संभावना है कि ज्यादातर लोगों के पास केवल एक प्राथमिक खाता है और इस समस्या में न चलें।


2
मुझे यकीन नहीं है कि यह एक ही होस्ट पर कई उपयोगकर्ताओं के लिए कैसे काम करता है, लेकिन आप ~/.ssh/configOSX कीफिन का उपयोग करने के बजाय ssh और फ़ाइल का उपयोग कर सकते हैं। यह उन मामलों में उपयोग किया जाता है जहां आपके पास अलग-अलग मेजबानों (और साथ ही सोच खातों) के लिए कई ssh चाबियाँ हो सकती हैं। nerderati.com/2011/03/17/…
jusopi

10

git-credential-osxkeychain Apple Keychain में पासवर्ड स्टोर करता है, जैसा ऊपर बताया गया है।

डिफ़ॉल्ट रूप से, gitcredentials केवल डोमेन नाम पर विचार करता है। यदि आप चाहते हैं कि गिट पूर्ण पथ पर विचार करें (जैसे यदि आपके पास कई GitHub खाते हैं), तो useHttpPathचर को सेट करें true, जैसा कि http://git-scm.com/docs/gitcredentials.html पर वर्णित है । ध्यान दें कि इस सेटिंग को बदलने से प्रत्येक URL के लिए आपकी साख फिर से पूछी जाएगी।


7

मैक पर, कमांड का उपयोग करें git credential-osxkeychain erase

या एप्लिकेशनयूटिलिटीजकिचेन एक्सेस से चाबी का गुच्छा से मैन्युअल रूप से हटा दें । फिर github.com कीचेन को हटा दें। फिर पुश का उपयोग करें; यह किचेन पहुंच के लिए पूछेगा; फिर इनकार करते हैं।

यह नए उपयोगकर्ता नाम और पासवर्ड के लिए पूछेगा, इसे जोड़ें फिर उसके लिए एक फ़ाइल धक्का देता है।

बाद में git pushमुझे यह त्रुटि मिली। तब मैं ऊपरी मामले का उपयोग करता हूं- मुद्दा:

रिमोट: user1 / file.git को अनुमति user2 (पहले से मौजूद उपयोगकर्ता) से इनकार किया। घातक: ' https://github.com/xxxxxxxxxxxxxx/ ' तक पहुँचने में असमर्थ : अनुरोधित URL में त्रुटि हुई: 403



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.