git - विजुअल स्टूडियो कोड हमेशा गिट क्रेडेंशियल्स के लिए पूछ रहा है




visual-studio github (10)

अंतिम अद्यतन उत्तर @ 05 मार्च, 19

98 उत्थान के बाद, मुझे लगता है कि मुझे स्पष्टीकरण के साथ एक सही उत्तर देने की आवश्यकता है।

VS कोड पासवर्ड क्यों पूछता है? क्योंकि VSCode ऑटो-भ्रूण सुविधा चलाता है, जबकि git सर्वर के पास आपकी पहचान को अधिकृत करने के लिए कोई जानकारी नहीं है। ऐसा तब होता है जब:

  • आपके git रेपो में https रिमोट url है। हाँ! इस तरह का रिमोट आपको हर बार पूछेगा। यहाँ कोई अपवाद नहीं है! आप नीचे दिए गए समाधान के रूप में प्राधिकरण को कैश करने के लिए एक अस्थायी चाल कर सकते हैं, लेकिन अनुशंसा नहीं करते।
  • आपके git रेपो में ssl रिमोट url है, लेकिन आपने git सर्वर पर अपनी ssh सार्वजनिक कुंजी कॉपी नहीं की है। अपनी कुंजी जनरेट करने के लिए ssh-keygen का उपयोग करें और इसे git सर्वर पर कॉपी करें। किया हुआ! यह समाधान आपको टर्मिनल पर पासवर्ड को फिर से लिखने में कभी भी मदद नहीं करता है। उत्तर के लिए here @Fnatical द्वारा एक अच्छा निर्देश देखें।

इस उत्तर के अंत में अपडेट किया गया भाग आपकी बिल्कुल मदद नहीं करता है। इसके अलावा यह आपको वर्कफ़्लो में स्थिर बना देता है। यह केवल VSCode में होने वाली चीज़ को रोकता है और टर्मिनल में इस चीज़ को होने देता है।

क्षमा करें यदि इस बुरे उत्तर ने आपको लंबे समय तक प्रभावित किया था।

-

मूल उत्तर (खराब)

मुझे VSCode दस्तावेज़ पर समाधान मिला:

सुझाव: हर बार वीएस कोड आपके जीआईटी रिमोट्स से बात करने के लिए क्रेडेंशियल के लिए पूछे जाने से बचने के लिए आपको एक विश्वसनीय सहायक स्थापित करना चाहिए। यदि आप ऐसा नहीं करते हैं, तो आप प्राप्त होने वाले संकेतों की संख्या को कम करने के लिए ... ऑटोफच इन ... मेनू को अक्षम करने पर विचार कर सकते हैं।

इसलिए, क्रेडेंशियल हेल्पर को चालू करें ताकि गिट कुछ समय के लिए आपके पासवर्ड को मेमोरी में बचाएगा। डिफ़ॉल्ट रूप से, Git आपके पासवर्ड को 15 मिनट के लिए कैश कर देगा।

टर्मिनल में, निम्नलिखित दर्ज करें:

git config --global credential.helper cache
# Set git to use the credential memory cache

डिफ़ॉल्ट पासवर्ड कैश टाइमआउट को बदलने के लिए, निम्नलिखित दर्ज करें:

git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)

अद्यतन करें

मैंने VS कोड और उसी के ऊपर कॉन्फिगर किया, लेकिन जैसा कि @ddieppa ने कहा, यह मेरे लिए भी काम नहीं करता है। इसलिए मैंने उपयोगकर्ता सेटिंग में एक विकल्प खोजने की कोशिश की, और मैंने "git.autofetch" = सत्य देखा, अब यह गलत है! VS कोड को अब बार-बार पासवर्ड डालने की आवश्यकता नहीं है!

मेनू में, फ़ाइल / प्राथमिकताएं / उपयोगकर्ता सेटिंग पर क्लिक करें और इन्हें टाइप करें:

डिफ़ॉल्ट सेटिंग्स को अधिलेखित करने के लिए इस फ़ाइल में अपनी सेटिंग्स रखें

{
  "git.autofetch": false
}

मैंने विज़ुअल स्टूडियो कोड का उपयोग करना शुरू कर दिया, और मैं अपने परीक्षण प्रोजेक्ट को GitHub में सहेजने की कोशिश कर रहा था, लेकिन Visual Studio कोड हमेशा मेरे GitHub क्रेडेंशियल्स के लिए पूछ रहा है।

मैंने अपने पीसी GitHub डेस्कटॉप और Git भी स्थापित किया है, मैं पहले से ही भागा हूं:

 git config --global credential.helper wincred

लेकिन फिर भी विज़ुअल स्टूडियो कोड क्रेडेंशियल्स के लिए पूछ रहा है।

कोई मदद?

यहाँ उपयोगकर्ता प्रोफ़ाइल में स्थित मेरी .gitconfig फ़ाइल है:

    [filter "lfs"]
    clean = git-lfs clean %f
    smudge = git-lfs smudge %f
    required = true
[user]
    name = ddieppa
[user]
    email = [email protected]
[credential]
    helper = wincred

यहाँ पॉपअप विंडो है जो क्रेडेंशियल्स के लिए पूछ रही है:

मैं पॉपअप में अपने GitHub क्रेडेंशियल्स दर्ज करता हूं, लेकिन अभी भी दृश्य स्टूडियो कोड में Git आउटपुट विंडो में यह त्रुटि हो रही है:

remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'

" विंडोज के लिए गिट क्रेडेंशियल मैनेजर " स्थापित करने का प्रयास करें (और क्रेडेंशियल प्रबंधक स्थापित करने के निर्देशों का पालन करें)।

जब Git (जैसे VS कोड) का उपयोग करने वाले ऐप के भीतर यह " magically " होगा विजुअल स्टूडियो टीम सर्विसेज क्रेडेंशियल इनपुट के लिए आवश्यक संवाद खोलें।


आपको अपने क्रेडेंशियल्स को इस तरह सेट करने में सक्षम होना चाहिए:

git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git

आप इस तरह से दूरस्थ url प्राप्त कर सकते हैं:

git config --get remote.origin.url


इस कमांड को चलाने के लिए मुझे बस इतना करना था:

git config --global credential.helper wincred

फिर मुझे दो बार पासवर्ड के लिए कहा गया।

अगली बार यह मुझे पासवर्ड के लिए संकेत दिए बिना काम किया।


निम्न चरणों का पालन करके समस्या हल करें।

अनइंस्टॉल किए गए सॉफ्टवेयर्स Vscode और git और समान को फिर से इंस्टॉल किया। Sit से https तक git रिपॉजिटरी क्लोन url को बदला।


निम्नलिखित article :

आप बस GIT_SSH env सेट कर सकते हैं। वर। पुट्टी के plink.exe प्रोग्राम में। (फिर एक एजेंट के रूप में pageant.exe का उपयोग करें। एजेंट)


पासफ़्रेज़ के बिना SSH कुंजी का उपयोग करें।

शायद यह कुछ के लिए स्पष्ट है (मेरे लिए नहीं था)। यह समस्या को हल नहीं करता है यदि आपको बिल्कुल पासफ़्रेज़ की आवश्यकता है, लेकिन मैक पर मेरी स्थिति में यह एक अच्छा समझौता था।


मेरे लिए मैंने SSH कुंजी के साथ अपना रिमोट रेपो सेटअप किया था, लेकिन git उन्हें नहीं मिल सका क्योंकि HOMEDRIVE पर्यावरण चर स्वचालित रूप से मेरी कंपनी की डोमेन नीति के कारण नेटवर्क साझा करने के लिए सेट हो रहा था। code . को लॉन्च करने से पहले मेरे शेल में उस पर्यावरण चर को बदलना code . VSCode के कारण सही वातावरण वैरिएबल और viola इन विटप आउटपुट विंडो में कोई अधिक कनेक्शन त्रुटियां नहीं होती हैं।

अब मुझे केवल यह पता लगाना है कि डोमेन नीति को कैसे ओवरराइड करना है इसलिए HOMEDRIVE हमेशा मेरे स्थानीय c:\users\marvhen निर्देशिका की ओर इशारा करता है जो कि c:\users\marvhen निर्देशिका के लिए डिफ़ॉल्ट स्थान है।


मैंने एक समान समस्या को सरल तरीके से हल किया:

  1. CMD या टर्मिनल पर जाएं
  2. टाइप git pull origin master । अपने मूल नाम के साथ 'मूल' बदलें
  3. यह साख मांगेगा। यह टाइप करें।

बस इतना ही। मैंने समस्या का समाधान किया


यह मेरे लिए काम कर रहा है:
1. स्टोर करने के लिए क्रेडेंशियल हेपर सेट करें
$ git config --global credential.helper store
2. यदि आप चाहते हैं तो सत्यापित करें:
$ git config --global credential.helper store

Here से उद्धृत git bash का उपयोग करते समय सरल उदाहरण (केवल वर्तमान रेपो के लिए काम करता है, --global सभी repos के लिए --global उपयोग करें)

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: < type your username >
Password: < type your password >

[कई दिनों बाद]
$ git push http://example.com/repo.git
[अपने क्रेडेंशियल्स स्वचालित रूप से उपयोग किया जाता है]

VS कोड के लिए भी काम करेंगे।

अधिक विस्तृत उदाहरण और उन्नत उपयोग here

नोट: उपयोगकर्ता नाम और पासवर्ड को एन्क्रिप्ट नहीं किया गया है और सादे पाठ प्रारूप में संग्रहीत किया गया है, इसलिए केवल अपने व्यक्तिगत कंप्यूटर पर इसका उपयोग करें।






visual-studio-code