Git से क्रेडेंशियल्स निकालें


621

मैं कई रिपोजिटरी के साथ काम कर रहा हूं, लेकिन हाल ही में मैं सिर्फ अपने आंतरिक एक में काम कर रहा था और सभी महान थे।

आज मुझे कमिटमेंट करना था और कोड को दूसरे में धकेलना था, लेकिन मुझे कुछ परेशानी हो रही है।

$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://gavekortet@appharbor.com/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed

ऐसा कुछ भी नहीं है जो मैं कर सकता हूं, जो पासवर्ड प्रविष्टि को फिर से लाएगा।

मैं अपने सिस्टम पर क्रेडेंशियल्स कैसे रीसेट कर सकता हूं इसलिए Git मुझसे उस रिपॉजिटरी का पासवर्ड पूछेगा?

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

  • git config --global --unset core.askpass

पासवर्ड को अनसेट करने के लिए

  • git config credential.helper 'cache --timeout=1'

क्रेडेंशियल कैश से बचने के लिए ...

कुछ भी काम नहीं लगता; किसी को भी एक बेहतर विचार है?


क्या आपके पास कोई ~/.netrcफाइल है?
13:13

2
@robinst यह एक विंडोज़ मशीन है, और मुझे वह फ़ाइल नहीं मिल रही है, Git Bash से भी नहीं ...
balexandre

Windows मशीन के लिए @balexandre, मैं नए (git 1.8.3) क्रेडेंशियल हेल्पर का उपयोग करना पसंद करता हूं netrc, जो एक एन्क्रिप्टेड फ़ाइल में कई क्रेडेंशियल स्टोर करेगा । यह प्रत्येक सत्र के लिए हर बार अपना पासवर्ड दर्ज करने से बेहतर है, क्योंकि कैश केवल एक निश्चित समय के लिए पासवर्ड को "कैश" करता है। एक पूरा उदाहरण यहां देखें ।
VonC

मेरे पास .netrc नहीं है। मेरे पास एक फ़ाइल है ~ (C: \ Users \ Myself) जिसका नाम .it- क्रेडेंशियल है, लेकिन इसे मिटाने से काम नहीं चला, मैं अभी भी Git Shell में लॉग इन हूं। इसके अलावा, नियंत्रण कक्ष क्रेडेंशियल प्रबंधक कुछ भी संग्रहीत नहीं करता है। स्थानीय और वैश्विक Git config फाइल ठीक लगती हैं। मुझे अपना कार्य केंद्र एक कर्मचारी से विरासत में मिला है जो कि छोड़ दिया है, इसलिए यह हो सकता है कि वह कुछ अपरंपरागत क्रेडेंशियल कैशिंग तंत्र सेट करें कि मेरे पास कोई सुराग नहीं है कि कैसे बंद करें। मुझे उम्मीद है कि यह व्यवहार Git Windows का डिफ़ॉल्ट नहीं है। मैक क्रेडेंशियल कैशिंग पर डिफ़ॉल्ट है लेकिन कम से कम यह किचेन एक्सेस में दिखाई देता है।
डैमिक्स 911 11

एक फुलर उत्तर जो लिनक्स, विंडोज़ और मैक ओएस एक्स पर भी काम करता है, stackoverflow.com/a/39944557/3906760 पर
MrTux

जवाबों:


652

यदि यह समस्या विंडोज मशीन पर आती है, तो निम्न कार्य करें।

  • क्रेडेंशियल मैनेजर पर जाएं
  • विंडोज क्रेडेंशियल पर जाएं
  • जेनेरिक क्रेडेंशियल्स के तहत प्रविष्टियों को हटा दें
  • फिर से कनेक्ट करने का प्रयास करें। इस बार, यह आपको सही उपयोगकर्ता नाम और पासवर्ड के लिए संकेत देना चाहिए।

क्रेडेंशियल मैनेजर पर जाएं

विंडोज क्रेडेंशियल पर जाएं और जेनेरिक क्रेडेंशियल्स के तहत प्रविष्टियों को हटा दें


4
यदि आपका ही प्रासंगिक है credential.helper=manager। इस प्रकार का परीक्षण करने के लिए git config --list। यदि यह सेट है storeतो क्रेडेंशियल को क्रेडेंशियल स्टोर में संग्रहीत नहीं किया जाता है, लेकिन अन-इनक्रिप्टेड संग्रहीत किया जाता है।
लियाम

3
मुझे केवल नामांकित क्रेडेंशियल को हटाना था git:https://github.comऔर मुझे अपने उपयोगकर्ता नाम दर्ज करने के लिए प्रेरित किया गया था / अगली बार जब मैंने पिथौर्म का उपयोग करके एक रेपो क्लोन किया। मेरे पास एक से अधिक गिटब खाता था और गलत एक कैश था।
डॉटकॉम

22
अगर कोई इसे जर्मन लोकलाइज्ड मशीन पर खोज रहा है, तो यह पथ पर "Anmeldeinformationsverwaltung" है Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung
डेविंडके

3
वैकल्पिक रूप से आप उपयोगकर्ता को बदल सकते हैं / में पास कर सकते हैं Credential Manager। मेरे लिए भी काम किया
डैनियल लेर्प्स

क्रेडेंशियल्स को हटाने से मेरी 403त्रुटि बिटबकेट के माध्यम से हल हुई।
Eido95

672

Git क्रेडेंशियल कैश एक डेमन प्रक्रिया चलाता है जो मेमोरी में आपके क्रेडेंशियल्स को कैश करता है और मांग पर उन्हें सौंप देता है। तो अपने गिट-क्रेडेंशियल-कैश को मारना - डेमॉन प्रक्रिया इन सभी को दूर फेंक देती है और परिणाम आपके पासवर्ड के लिए आपको फिर से संकेत देती है यदि आप इसे कैशे के रूप में उपयोग करना जारी रखते हैं।

आप Git क्रेडेंशियल कैश के उपयोग को भी अक्षम कर सकते हैं git config --global --unset credential.helper। फिर इसे रीसेट करें, और आपके पास कैश्ड क्रेडेंशियल्स अन्य रिपॉजिटरी (यदि कोई हो) के लिए उपलब्ध होना जारी रहेगा। आपको यह करने की आवश्यकता हो सकती है कि git config --system --unset credential.helperक्या यह सिस्टम कॉन्फ़िगरेशन फ़ाइल में सेट किया गया है (उदाहरण के लिए, विंडोज 2 के लिए गिट)।

विंडोज पर आप प्रबंधक सहायक ( git config --global credential.helper manager) का उपयोग करके बेहतर हो सकते हैं । यह आपके क्रेडेंशियल्स को विंडोज क्रेडेंशियल स्टोर में संग्रहीत करता है जिसमें एक नियंत्रण कक्ष इंटरफ़ेस होता है जहां आप अपने संग्रहीत क्रेडेंशियल को हटा या संपादित कर सकते हैं। इस स्टोर के साथ, आपका विवरण आपके विंडोज लॉगिन द्वारा सुरक्षित किया जाता है और कई सत्रों पर बना रह सकता है। प्रबंधक सहायक विंडोज 2.x के लिए Git में शामिल पहले स्थान ले लिया है wincred सहायक है जो Windows 1.8.1.1 के लिए Git में जोड़ा गया है। विनस्टोर नामक एक समान सहायक भी ऑनलाइन उपलब्ध है और इसका उपयोग GitExtensions के साथ किया गया था क्योंकि यह एक अधिक GUI संचालित इंटरफ़ेस प्रदान करता है। प्रबंधक सहायक के रूप में एक ही जीयूआई इंटरफ़ेस प्रदान करता है winstore

Windows क्रेडेंशियल प्रबंधक का विवरण देते हुए Windows 10 समर्थन पृष्ठ से निकालें :

क्रेडेंशियल मैनेजर खोलने के लिए, टास्कबार पर सर्च बॉक्स में "क्रेडेंशियल मैनेजर" टाइप करें और क्रेडेंशियल मैनेजर कंट्रोल पैनल चुनें

और फिर किसी दिए गए URL के लिए संग्रहीत गिट क्रेडेंशियल को संपादित करने (= निकालने या संशोधित करने) के लिए विंडोज क्रेडेंशियल का चयन करें।


197
मुझे विंडोज क्रेडेंशियल कंट्रोल पैनल मिला Control Panel\User Accounts\Credential Managerविंडोज 7 के तहत
स्टीव पिचर्स

2
क्या प्रक्रिया को मारने से कहीं कोई निशान नहीं रह जाता है, जिससे पासवर्ड अभी भी एक्सेस किया जा सकता है? गिट मैनुअल के अनुसार वे "सादे पाठ" में संग्रहीत हैं।
उफोस

1
विंडोज 8.1 के तहत "विंडोज क्रेडेंशियल" जेनेरिक क्रेडेंशियल्स और गिट के तहत था: gitlab.com या अपनी पसंद का सर्वर।
जेफ

5
विंडोज 8/10 के तहत विस्तृत उपयोगकर्ता खाता सेटिंग्स "क्लासिक" कंट्रोल पैनल के तहत स्थित हैं, कि "सेटिंग्स" ऐप (आधुनिक यूआई)। सिर्फ भ्रम से बचने के लिए।
डैनियल

1
विंडोज़ में 10 नियंत्रण कक्ष पर जाएं \ सभी नियंत्रण कक्ष आइटम \ क्रेडेंशियल प्रबंधक। GitHub के लिए एक सामान्य क्रेडेंशियल हो सकता है। आप उपयोगकर्ता नाम और पासवर्ड को वहां अपडेट कर सकते हैं।
एल्डहोस अब्राहम

155

फिर से लिखें:

$ git config credential.helper store

और फिर आपको फिर से अपनी साख दर्ज करने के लिए प्रेरित किया जाएगा।

चेतावनी

इस सहायक का उपयोग करने से आपके पासवर्ड डिस्क पर अनएन्क्रिप्टेड स्टोर हो जाएंगे

स्रोत: https://git-scm.com/docs/git-credential-store


35
यह आदेश फिर से मेरी साख में प्रवेश करने के लिए नहीं कह रहा है, यह आदेश कुछ नहीं कर रहा है
शिरीष हेरवाडे

3
@SirishHerwade ने git पुल की कोशिश की, तो आप शीघ्र स्क्रीन देखेंगे
ismailcem

2
@jkokorian इस आदेश को पूर्ववत् करने के लिए संबंधित पंक्तियों को हटा दें .git/config
जिनाडिक्स

110

मुझे ओपी के रूप में एक ही मुद्दे का सामना करना पड़ा। यह मेरे पुराने Git क्रेडेंशियल्स को सिस्टम पर कहीं संग्रहीत कर रहा था और मैं अपने नए क्रेडेंशियल्स के साथ Git का उपयोग करना चाहता था, इसलिए मैंने कमांड चलाया

$ git config --system --list

इसने दर्शाया

credential.helper=manager

जब भी मैंने प्रदर्शन किया, git pushवह मेरा पुराना उपयोगकर्ता नाम ले रहा था जिसे मैंने बहुत पहले सेट किया था, और मैं बदलावों को आगे बढ़ाने के लिए नए GitHub खाते का उपयोग करना चाहता था। मैंने बाद में पाया कि मेरे पुराने GitHub खाता क्रेडेंशियल्स को नियंत्रण कक्षउपयोगकर्ता खातेक्रेडेंशियल प्रबंधकWindows क्रेडेंशियल्स प्रबंधित करें के तहत संग्रहीत किया गया था ।

Windows क्रेडेंशियल्स प्रबंधित करें

मैंने केवल इन क्रेडेंशियल्स को हटा दिया और जब मैंने प्रदर्शन किया git pushतो मुझसे मेरे GitHub क्रेडेंशियल्स के लिए कहा, और यह एक आकर्षण की तरह काम किया।


हाल ही में Git क्रेडेंशियल मैनेजर ( github.com/Microsoft/Git-Credential-Manager-for-Windows ) के हालिया चित्र का अच्छा चित्रण जो क्रेडेंशियल ( github.com/Microsoft/Git-Credential-Manager-for-Windows/ मुद्दों /… ) +1
VONC

1
@VonC मुझे यह पता लगाने में एक दिन लगा, क्योंकि मुझे यह जानकारी नहीं थी कि मुझे क्रेडेंशियल स्टोर करने के इस तंत्र के बारे में पता नहीं था।
मौर्य

यह वास्तव में हाल ही में है। यहाँ इसका उल्लेख करने के लिए धन्यवाद।
वॉनसी

यह शायद "स्वीकृत" एक की तुलना में बेहतर उत्तर है, जो मेरे लिए सभी क्रेडेंशियल्स को इंगित करता है। निश्चित रूप से मेरी मदद की।
विक्टरलेग्रोस

52

नीचे दिए गए आदेश का उपयोग करके देखें।

git credential-manager

यहां आप अपने क्रेडेंशियल्स (नीचे स्क्रीन की जांच) का प्रबंधन करने के लिए विभिन्न विकल्प प्राप्त कर सकते हैं।

यहां छवि विवरण दर्ज करें

या आप भी सीधे इस आदेश की कोशिश कर सकते हैं:

git credential-manager uninstall

यह प्रत्येक सर्वर इंटरैक्शन अनुरोध पर फिर से पासवर्ड के लिए संकेत देना शुरू कर देगा।


10
मुझे क्यों मिल रहा है -git: 'credential-manager' is not a git command. See 'git --help'.
सैकत

2
यकीन नहीं है, यह आपके लिए काम क्यों नहीं कर रहा है, लेकिन नवीनतम गिट संस्करण में भी, यह उपलब्ध है। अधिक जानकारी के लिए कृपया इस लिंक को देखें - git-scm.com/book/gr/v2/Git-Tools-Credential-Storage
हिमांशु अग्रवाल

3
समझे removal failed. U_U Press any key to continue... fatal: InvalidOperationException encountered. Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.(अच्छे U_Uइमोजी के साथ कहीं से भी बाहर :))
jeromej

1
GitBash के साथ विंडोज पर मेरे लिए काम करने वाला एकमात्र समाधान।
alain.janinm

हो सकता है कि एक तरफ, लेकिन मैंने चोको के माध्यम से गिट स्थापित किया, और यह [अनइंस्टॉल] विधि मेरे लिए अच्छा था कि एक तैनात कंप्यूटर पर रेपो खींचने के लिए क्रेडेंशियल संग्रहीत किए बिना
beep_check

32

मुझे कुछ ऐसा मिला जिसने मेरे लिए काम किया। जब मैंने ओपी को अपनी टिप्पणी लिखी तो मैं सिस्टम कॉन्फिग फाइल की जांच करने में असफल रहा:

git config --system -l

दिखाता है a

credential.helper=!github --credentials

लाइन। मैं इससे परेशान हूं

git config --system --unset credential.helper

और अब क्रेडेंशियल्स भूल गए हैं।


2
अंकुर, आपको सुझाए गए कमांड को 2-3 बार इसी तरह से चलाने की आवश्यकता हो सकती है, यदि आपने एक जोड़ी क्रेडेंशियल हेल्पर्स कॉन्फ़िगर किया है। git config --global --unset credential.helperऔर शायद सिर्फ git config --unset credential.helperअपने भंडार में अगर आपने किसी तरह से इसे स्पष्ट रूप से निर्धारित किया था।
ड्रैगन 788

समाधान के लिए धन्यवाद। बस एक विवरण: मेरे मामले में मुझे एक प्रशासक के रूप में कमांड प्रॉम्प्ट लॉन्च करना था
ए। जॉली

30

मेरे मामले में, Git Windows का उपयोग क्रेडेंशियल को संग्रहीत करने के लिए कर रहा है।

आपको बस इतना करना है कि आपके विंडोज खाते में संग्रहीत संग्रहीत क्रेडेंशियल्स को हटा दें:

विंडोज क्रेडेंशियल मेनू


1
यह इस उत्तर से कैसे भिन्न है ? या यह एक ?
लियाम

20
git config --list

दिखाएगा credential.helper = manager(यह एक विंडोज़ मशीन पर है)

अपने वर्तमान स्थानीय गिट फ़ोल्डर के लिए इस कैश्ड उपयोगकर्ता नाम / पासवर्ड को निष्क्रिय करने के लिए, बस दर्ज करें

git config credential.helper ""

इस तरह, git हर बार पासवर्ड के लिए संकेत देगा, "प्रबंधक" के अंदर जो बचा है उसे अनदेखा कर।


मुझे नीचे त्रुटि है git: 'credential-' is not a git command. See 'git --help'., लेकिन सुरक्षा के लिए मैं इस उत्तर को बढ़ा रहा हूं क्योंकि यह एकमात्र ऐसा है जिसने मुझे एक नए पासवर्ड के लिए प्रेरित किया। मुझे आश्चर्य हो रहा है, हालाँकि, अगर यह सिर्फ समस्या का
सामना

नहींं: rm -rf ~/.git-credentialsकिया। ध्यान दें कि यह अलग हो सकता है ( git help credential-store)
रिबमार

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

git config --unset credential.helperप्रविष्टि साफ़ करता है। यह उत्तर केवल इसे खाली स्ट्रिंग पर सेट करता है और उस त्रुटि को उत्पन्न करता है जो @ribamar टिप्पणियों में वर्णित है।
डार्क कैसल

15

Windows 2003 सर्वर में "wincred" * के साथ, अन्य किसी भी उत्तर ने मेरी मदद नहीं की। मुझे इस्तेमाल करना था cmdkey

  • cmdkey /list सभी संग्रहीत क्रेडेंशियल्स को सूचीबद्ध करता है।
  • cmdkey /delete:Target "लक्ष्य" नाम के साथ क्रेडेंशियल हटाता है।

cmdkey / list;  cmdkey / delete: लक्ष्य

(* "Wincred" से मेरा मतलब है git config --global credential.helper wincred)


हां, cmdkeyचुने हुए उत्तर में वर्णित विंडोज क्रेडेंशियल्स के लिए कमांड-लाइन समकक्ष है।
निकोबो

15

यह त्रुटि तब दिखाई देती है जब आप एक ही मशीन पर कई Git खातों का उपयोग कर रहे होते हैं।

यदि आप macOS का उपयोग कर रहे हैं तो आप github.com की सहेजी गई साख को निकाल सकते हैं ।

कृपया github.com क्रेडेंशियल्स को हटाने के लिए नीचे दिए गए चरणों का पालन करें ।

  1. किचेन एक्सेस खोलें
  2. गीथूब का पता लगाएं
  3. Github.com का चयन करें और उस पर राइट क्लिक करें
  4. "Github.com" हटाएं
  5. पुश करने के लिए फिर से पुश या पुल करने का प्रयास करें और यह क्रेडेंशियल्स के लिए पूछेगा।
  6. रिपॉजिटरी खाते के लिए मान्य क्रेडेंशियल दर्ज करें।
  7. किया हुआ

    यहाँ छवि विवरण दर्ज करें


धन्यवाद, यह पूरी तरह से मैक ओएस पर काम कर रहा है
babygame0ver

13

संबंधित गीथूब के साथ लॉगिन करने की आवश्यकता है usernameऔरpassword

विंडोज़ में उपयोगकर्ता नाम और पासवर्ड साफ़ करने के लिए

नियंत्रण कक्ष \ उपयोगकर्ता खाते \ क्रेडेंशियल प्रबंधक

विंडोज़ क्रेडेंशियल संपादित करें

मौजूदा उपयोगकर्ता को निकालें और अब शीघ्र लिखने धक्का आदेश यह पता चलता है एक GitHub पॉप-अप में प्रवेश करने के आदेश करने के लिए जाना username/ emailऔर password

अब हम उपयोगकर्ता को स्विच करने के बाद कोड को पुश करने में सक्षम हैं।


13

'जिट पुल' करते समय एक ही त्रुटि हुई और मैंने इसे ठीक किया।

  1. रेपो को HTTPS में बदलें
  2. चलाने के आदेश git config --system --unset credential.helper
  3. चलाने के आदेश git config --system --add credential.helper manager
  4. टेस्ट कमांड git pull
  5. लॉगिन विंडो में क्रेडेंशियल डालें जो पॉप अप करता है।
  6. गिट पुल सफलतापूर्वक पूरा हुआ।

--system? के बारे में क्या --global? क्या कोई गुंजाइश नहीं है? सेटिंग स्कोप का क्या अर्थ है?
14

बस चरण 1 के साथ मेरी समस्या हल हो गई।
zzxwill

11

वर्तमान में लॉग-इन उपयोगकर्ता फ़ोल्डर में Windows में स्थित अपनी .gitconfig फ़ाइल से इस लाइन को हटा दें:

[credential]
helper = !\"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\"

इसने मेरे लिए काम किया और अब जब मैंने रिमोट को पुश किया तो यह फिर से मेरा पासवर्ड मांगता है।


10

यदि Windows के लिए Git क्रेडेंशियल मैनेजर का उपयोग किया जाता है (जो वर्तमान संस्करण आमतौर पर करते हैं):

git credential-manager clear

इसे 2016 के मध्य में जोड़ा गया था । यह देखने के लिए कि क्या क्रेडेंशियल मैनेजर का उपयोग किया जाता है:

git config --global credential.helper
→ manager

10

आपको इसे अपने क्रेडेंशियल मैनेजर में अपडेट करना होगा।

कंट्रोल पैनल पर जाएं> उपयोगकर्ता खाते> क्रेडेंशियल मैनेजर> विंडोज क्रेडेंशियल। आपको सूची में Git क्रेडेंशियल दिखाई देगा (उदाहरण git: https: //)। उस पर क्लिक करें, पासवर्ड अपडेट करें, और अपने गिट बैश से गिट पुल / पुश कमांड निष्पादित करें और यह किसी भी अधिक त्रुटि संदेश नहीं फेंकेगा।


10

विंडोज 10 प्रोफेशनल पर विंडोज के लिए git के नवीनतम संस्करण का उपयोग करना और मेरे पास एक समान मुद्दा था जिसके तहत मेरे पास दो अलग-अलग GitHub खाते हैं और एक Bitbucket खाता भी है, इसलिए VS2017, git एक्सटेंशन और git bash के लिए चीजें थोड़ी भ्रमित हुईं।

मैंने पहली बार जाँच की कि इस कमांड के साथ git मेरी साख को कैसे संभाल रहा है (एलिवेटेड कमांड्स के साथ git bash चलाएं या आपको त्रुटियाँ मिलें):

git config --list

मुझे एंट्री क्रेडेंशियल मैनेजर मिला, इसलिए मैंने START बटन> टाइप किए गए क्रेडेंशियल मैनेजर पर क्लिक किया और ऐप लॉन्च करने वाले क्रेडेंशियल मैनेजर येलो सुरक्षित आइकन पर क्लिक किया। फिर मैंने विंडोज क्रेडेंशियल्स टैब पर क्लिक किया और अपने वर्तमान git खाते के लिए प्रविष्टि प्राप्त की जो कि बिट-बकेट के रूप में हुआ था इसलिए मैंने इस खाते को हटा दिया।

लेकिन यह चाल नहीं चली इसलिए अगला कदम क्रेडेंशियल्स को परेशान करना था और मैंने अपने लैपटॉप पर रिपॉजिटरी डायरेक्टरी से ऐसा किया जिसमें GitHub प्रोजेक्ट शामिल है जिसे मैं रिमोट से पुश करने की कोशिश कर रहा हूं। मैंने निम्न कमांड टाइप किया:

git config --system --unset credential.helper

फिर मैंने एक git पुश किया और मुझे एक GitHub यूज़रनेम के लिए प्रेरित किया गया, जिसे मैंने दर्ज किया (सही एक जिसकी मुझे ज़रूरत थी) और फिर संबंधित पासवर्ड और सब कुछ सही तरीके से पुश हो गया।

मुझे यकीन नहीं है कि यह एक मुद्दा कितना आगे बढ़ रहा है, ज्यादातर लोग शायद एक रिपॉजिटरी से काम करते हैं, लेकिन मुझे कई काम करना होगा और विभिन्न प्रदाताओं का उपयोग करना होगा ताकि इस मुद्दे का फिर से सामना हो सके।


मेरे लिए काम किया..धन्यवाद
कृष्णमूर्ति आचार्य

8

मेरे मामले में, मुझे विंडोज क्रेडेंशियल मैनेजर (विंडोज 7) में सहेजे गए क्रेडेंशियल्स नहीं मिले।

मैं निष्पादित करके अपनी साख को रीसेट करने में सक्षम था

git config --global credential.helper wincred

यह ईमानदारी से जय हो मैरी यह देखने के लिए कि क्या यह मेरी साख को मिटा देगा और यह वास्तव में काम करता है।


इसने मेरे लिए काम किया; मेरे पास हटाने के लिए क्रेडेंशियल प्रबंधक में प्रविष्टि नहीं है।
bdwakefield

7

Git के लिए क्रेडेंशियल्स निकालने के लिए आप credential.helper=!github --credentialsनिम्न फ़ाइल से लाइन हटा सकते हैंC:\Program Files\Git\mingw64\etc\gitconfig


7
  1. के लिए जाओ C:\Users\<current-user>
  2. .git-credentialsफ़ाइल के लिए जाँच करें
  3. अपनी आवश्यकता के अनुसार सामग्री हटाएं या संशोधित करें
  4. अपने टर्मिनल को पुनरारंभ करें

एकमात्र समाधान जिसने मेरे लिए काम किया
वचबर्न

7

विंडोज पर, कम से कम, git remote show [remote-name]काम करेगा, जैसे

git remote show origin

यकीन नहीं होता कि नीच क्यों। यह वास्तव में कारगर है। मैं हर चीज के साथ फंस जाता हूं।
जेसन एस

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

2
मेरे लिए एक आकर्षण का काम किया।
आयरनअंस

मुझे भी। तुम भी एक रिपॉजिटरी निर्देशिका में होने की जरूरत नहीं है
निकोला मुसत्ती

6

यदि आप पुराने सहेजे गए क्रेडेंशियल को भूल जाना चाहते हैं और उपयोगकर्ता नाम और पासवर्ड को फिर से दर्ज करना चाहते हैं, तो आप नीचे दिए गए कमांड का उपयोग कर सकते हैं:

git credential-cache exit

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


3

मेरे लिए यह आखिरकार क्या तय किया गया था कि GitHub डेस्कटॉप का उपयोग करें, रिपॉजिटरी सेटिंग्स पर जाएं, और रिपॉजिटरी url से उपयोगकर्ता: पास @ हटाएं। फिर, मैंने कमांड लाइन से एक धक्का देने का प्रयास किया और लॉगिन क्रेडेंशियल के लिए कहा गया। के बाद मैं उन सब कुछ में वापस सामान्य करने के लिए चला गया। Visual Studio और कमांड लाइन दोनों काम कर रहे हैं, और निश्चित रूप से, GitHub डेस्कटॉप।

GitHub डेस्कटॉप-> रिपॉजिटरी-> रिपॉजिटरी सेटिंग्स-> रिमोट टैब

प्राथमिक दूरस्थ रिपॉजिटरी (मूल) को इसमें से बदलें:

https: //pork@muffins@github.com/MyProject/MyProject.git

सेवा:

https://github.com/MyProject/MyProject.git

"सहेजें" पर क्लिक करें

साख साफ हो जाएगी।


विंडोज पर कमांड लाइन से उसी को मूल रीसेट करने से मेरी समस्या हल हो गई है। मैं GitLab का उपयोग कर रहा हूं इसलिए मैं इसके लिए GitHub डेस्कटॉप का उपयोग नहीं कर सका।
डेविड वर्गास

3

MacOS उपयोगकर्ताओं के लिए:

यह त्रुटि तब दिखाई देती है जब आप एक ही मशीन पर कई Git खातों का उपयोग कर रहे होते हैं।

कृपया github.com क्रेडेंशियल्स को हटाने के लिए नीचे दिए गए चरणों का पालन करें।

  1. खोजक के पास जाओ
  2. एप्लिकेशन पर जाएं
  3. यूटिलिटीज फोल्डर पर जाएं
  4. किचेन एक्सेस खोलें
  5. Github.com का चयन करें और उस पर राइट क्लिक करें

    "Github.com" हटाएं

पुश करने के लिए फिर से पुश या पुल करने की कोशिश करें और यह क्रेडेंशियल्स के लिए पूछेगा। रिपॉजिटरी खाते के लिए मान्य क्रेडेंशियल दर्ज करें। किया हुआ


3

विंडोज 10 के लिए, नीचे दिए गए पथ पर जाएं,

नियंत्रण कक्ष \ उपयोगकर्ता खाते \ क्रेडेंशियल प्रबंधक

इस स्थान पर 2 टैब होंगे,

  1. वेब क्रेडेंशियल और 2. विंडोज क्रेडेंशियल।

विंडोज क्रेडेंशियल टैब पर क्लिक करें और यहां आप "जेनरिक क्रेडेंशियल्स" शीर्षक के तहत अपने संग्रहीत गितुब क्रेडेंशियल्स देख सकते हैं।

आप उन लोगों को यहां से हटा सकते हैं और कोशिश कर सकते हैं और पुन: क्लोन कर सकते हैं - यह यूजरनेम / पासवर्ड के लिए पूछेगा क्योंकि हमने अभी विंडोज 10 सिस्टम से संग्रहीत क्रेडेंशियल को हटा दिया है


2

विंडोज कैश के लिए जीआईटी क्रेडेंशियल्स मैनेजर्स क्लियर करना:

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

या

rm %LOCALAPPDATA%\GitCredentialManager\tenant.cache

2

यह कोशिश करें जब ऊपर वर्णित कुछ भी आपके लिए काम नहीं कर रहा है।

git config credential.helper 'cache --timeout=30'

यह प्रत्येक 3sec कैश को हटा देगा और उपयोगकर्ता नाम और पासवर्ड मांगेगा। आप बढ़े हुए समय मानों के साथ कमांड को फिर से चला सकते हैं।


1

हमारे मामले में, उपयोगकर्ता .गित-क्रेडेंशियल फ़ाइल में पासवर्ड को साफ़ करना हमारे लिए काम करता है।

c:\users\[username]\.git-credentials

हां, कई अन्य लोगों ने यह पहले ही कई बार कहा है
लियाम

1

@ Patthoyts के उच्च मत वाले उत्तर से निर्माण ( https://stackoverflow.com/a/15382950/4401012 ):

उनका उत्तर उपयोग करता है, लेकिन "स्थानीय" बनाम "वैश्विक" बनाम "सिस्टम" कॉन्फ़िगरेशन को नहीं समझाता है। उनके लिए आधिकारिक गिट प्रलेखन यहाँ है और पढ़ने लायक है।

उदाहरण के लिए, मैं लिनक्स पर हूँ, और एक का उपयोग नहीं करते प्रणाली config, तो मैं एक का उपयोग कभी नहीं --systemझंडा, लेकिन आमतौर पर के बीच अंतर करने की क्या ज़रूरत है --localऔर --globalकॉन्फ़िगरेशन।

मेरा उपयोग मामला यह है कि मुझे दो गितुब crendentials मिले हैं; काम के लिए एक, और खेलने के लिए एक।

यहां बताया गया है कि मैं इस समस्या से कैसे निपटूंगा:

$ cd work
# do and commit work
$ git push origin develop
# Possibly prompted for credentials if I haven't configured my remotes to automate that. 
# We're assuming that now I've stored my "work" credentials with git's credential helper.

$ cd ~/play 
# do and commit play
$ git push origin develop                                                                   
remote: Permission to whilei/specs.git denied to whilei.                
fatal: unable to access 'https://github.com/workname/specs.git/': The requested URL returned error: 403

# So here's where it goes down:
$ git config --list | grep cred
credential.helper=store # One of these is for _local_
credential.helper=store # And one is for _global_

$ git config --global --unset credential.helper
$ git config --list | grep cred
credential.helper=store # My _local_ config still specifies 'store'
$ git config --unset credential.helper
$ git push origin develop
Username for 'https://github.com': whilei
Password for 'https://whilei@github.com':
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 1.10 KiB | 1.10 MiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/whilei/specs.git
   b2ca528..f64f065  master -> master

# Now let's turn credential-helping back on:
$ git config --global credential.helper "store"
$ git config credential.helper "store"
$ git config --list | grep cred
credential.helper=store # Put it back the way it was.
credential.helper=store

यह भी ध्यान देने योग्य है कि इस समस्या से पूरी तरह से बचने के तरीके हैं, उदाहरण के लिए, आप ~/.ssh/configगिथूब (काम के लिए एक, खेलने के लिए एक) के लिए संबद्ध एसएसएच कुंजी के साथ उपयोग कर सकते हैं और प्रमाणीकरण के संदर्भ को भी हल करने के लिए कस्टम-नामित दूरस्थ होस्ट नाम भी उपयोग कर सकते हैं।


1

@Ericbn के https://stackoverflow.com/a/41111629/579827 को जोड़ने के लिए यहां नमूना आदेश दिए गए हैं जो मैंने एक स्क्रिप्ट में एम्बेड किए हैं जब भी मैं नवीनीकृत होता हूं तो मैं अपने सभी पासवर्डों को अपडेट करने के लिए दौड़ता हूं। यह शायद प्रयोग करने योग्य नहीं है-क्योंकि यह काफी विशिष्ट है लेकिन यह वास्तविक जीवन के उपयोग को दर्शाता है cmdkey.exe

⚠ यह एक है खोल में चला स्क्रिप्ट cygwin

That यह काम करता है क्योंकि मैं निजी git repos का उपयोग करता हूं जो सभी एक ही पासवर्ड के साथ प्रमाणित करते हैं (आप शायद एक ही क्रेडेंशियल के साथ लूप नहीं करना चाहते हैं, लेकिन आप /listपहले से पंजीकृत क्रेडेंशियल्स की सूची निकालने के लिए इस नमूना आदेश का पुन: उपयोग कर सकते हैं ) I

entries=`cmdkey.exe /list: | grep git | sed -r -e 's/^[^:]+:\s*(.*)$/\1/gm'`
for entry in ${entries}
do
    cmdkey.exe "/delete:${entry}"
    cmdkey.exe "/generic:${entry}" "/user:${GIT_USERNAME}" "/pass:${GIT_PASSWORD}"
done

0

यदि आपको अपनी कुंजी जोड़ी का उपयोग करके प्रमाणित किया जाता है, तो आप अपनी निजी कुंजी को हटा या स्थानांतरित कर सकते हैं, या कुंजी एजेंट को रोक सकते हैं और कोशिश कर सकते हैं।


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