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


218

मैंने विज़ुअल स्टूडियो कोड का उपयोग करना शुरू कर दिया , और मैं अपने परीक्षण प्रोजेक्ट को 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 = fake@live.com
[credential]
    helper = wincred

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

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

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

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

आप किस GItHub URL का उपयोग कर रहे हैं? एक HTTP या GIT (SSH)? यदि आप HTTP URL का उपयोग कर रहे हैं, तो आपको URL में उपयोगकर्ता और पासवर्ड को शामिल करना होगा। आप बेहतर तरीके से जीआईटी URL का उपयोग करते हैं और उपयोगकर्ता की SSH कुंजी सूची में अपनी सार्वजनिक SSH कुंजी जोड़ते हैं
yorammi

@yorammi मैं git के साथ नया काम कर रहा हूं, इसलिए मैंने Github Desktop और Git को स्थापित किया और विज़ुअल स्टूडियो कोड का उपयोग करके अपने प्रोजेक्ट को सहेजने का प्रयास किया, इसलिए मुझे नहीं पता कि मैं क्या कर रहा हूं। मुझे इस बात की जानकारी कैसे होगी?
ddieppa

@ddieppa GitHub डेस्कटॉप में https कनेक्शन के साथ दो कारक प्रमाणीकरण के साथ काम करने का एक तरीका है। हालाँकि, जो अन्य टूल को तोड़ता है। जैसे उत्तर में कहा गया है कि अब आपको मूल URL को https से ssh में बदलना होगा।
लेक्स ली

जवाबों:


157

अंतिम अपडेट: 05 मार्च, 2019

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

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

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

2
मैंने कोशिश की, लेकिन मेरे लिए काम नहीं किया, मैं भी इस एक का उपयोग करें: $ git config --global क्रेडेंशियल.हेल्पर wincred
ddieppa

जबकि ऑटोफच समाधान निरंतर पॉपअप समस्या को रोकता है, फिर भी इसे हर पुश और पुल पर क्रेडेंशियल दर्ज करने की आवश्यकता होती है। यदि http / s के साथ एक पीसी का उपयोग कर रहे हैं, तो नीचे दिए गए क्रेडेंशियल प्रबंधक समाधान शानदार काम करता है।
रुटोपिया

3
यदि आपको कार्रवाई शुरू नहीं करनी है, तो चीजें पॉप-अप नहीं होनी चाहिए, विशेष रूप से चीजें जो क्रेडेंशियल्स के लिए पूछ रही हैं - आप कैसे जानते हैं कि यह सुरक्षित है और एक स्पूफ नहीं है?
एंथनी जॉनसन

7
कृपया उस सेटिंग से सावधान रहें! यह आपकी साख को याद रखने में आपकी मदद करने के लिए नहीं है। यह स्वचालित रूप से आपको git-लाने में मदद करने के बारे में बात कर रहा है। कृपया उस पर अधिक विवरण के लिए atlassian.com/git/tutorials/syncing#git-fetch पर एक नज़र डालें । जहाँ तक आपकी साख जमा करने का सवाल है, कमांड का उपयोग करें git config --global credential.helper cache। अधिक जानकारी के लिए git-scm.com/book/gr/v2/Git-Tools-Credential-Storage पर नज़र डालें ।
आभारी

7
यह सुझाव देते हुए कि आप ऑटोफैच को बंद करते हैं, "मुझे अकेला छोड़ दें" विकल्प के रूप में ठीक है। लेकिन यह कहने के लिए समान है "यदि आपका सॉफ़्टवेयर काम नहीं करता है, तो बस इसका उपयोग करना बंद करें।" लोगों को अंतर का एहसास कराना जरूरी है। मैं यह सुझाव दूंगा कि इस उत्तर के "अद्यतन" भाग का कहना है कि "IF THESN'T WORK" के बजाय, और समझाएं कि आप वास्तव में समस्या को ठीक किए बिना आपको परेशान करना बंद करने के लिए इसे प्राप्त कर सकते हैं। UPDATE के ऊपर उत्तर का हिस्सा वास्तव में सही है (कम से कम, मेरे लिए काम किए गए दस्तावेज़ीकरण लिंक का अनुसरण करते हुए)
डॉन

67

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

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

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

git config --get remote.origin.url


5
अगर मेरे पासवर्ड में @ है तो url क्या होगा?
सुवोनकर

यह वास्तव में अच्छा तरीका है। एक प्रश्न हालांकि, उन क्रेडेंशियल्स को स्थानीय फ़ाइल सिस्टम में कहाँ सहेजा गया है?
तोमन शिपही

1
.Git \ config फ़ाइल में।
योहसफ

यह भी ध्यान दें कि <PASSWORD> वैकल्पिक है, यदि आप अपने पासवर्ड को स्थानीय डिस्क पर सहेजना नहीं चाहते हैं और उसके लिए जारी रखा जाना चाहते हैं।
बेन बैरेथ

आप अपने पासवर्ड का उपयोग करने के लिए एक व्यक्तिगत एक्सेस टोकन का भी प्रावधान कर सकते हैं, इस तरह आप अपने वास्तविक खाते के पासवर्ड को स्पष्ट रूप से प्लेस्टोरेक्स में संग्रहीत नहीं कर रहे हैं। इसके अलावा आप आसानी से प्रावधान को हटा सकते हैं यदि आप चाहते हैं या यदि आपको लगा कि आपका सिस्टम खो गया है या समझौता हो गया है।
CTS_AE

55

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

यहाँ से उद्धृत गिट बैश का उपयोग करते समय सरल उदाहरण (वर्तमान रेपो के लिए काम करता है, --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 कोड के लिए भी काम करेंगे।

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

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


2
मुझे नहीं पता कि यह कैश सिर्फ ubuntu 18.04 और बनाम कोड पर मेरे लिए काम क्यों नहीं करेगा। storeइसे करें।
डी। दान

1
बहुत सुरक्षित नहीं है। इसके बजाय कैश का उपयोग करें। अगर आपका "पर्सनल" कंप्यूटर हैक हो जाता है, तो आपके git क्रेडेंशियल्स भी हैक हो सकते हैं ..
Hypersoft Systems

1
कैश मेमोरी में क्रेडेंशियल बचाता है, यह दीर्घकालिक समाधान नहीं है। आपको हर बार उपयोगकर्ता नाम और पासवर्ड दर्ज नहीं करना होगा, लेकिन फिर भी आपको इसे अक्सर दर्ज करना होगा।
वैभव विशाल

1
मुझे यह उत्तर सबसे अच्छा लगता है। हर बार जब मैं वीएस कोड का उपयोग करके मूल (यानी GitLab) पर अपना कोड धक्का देता हूं, तो मुझे उपयोगकर्ता नाम / पासवर्ड के लिए संकेत नहीं दिया जाना चाहिए
शॉन मैकार्थी

मैं अब भी तर्क देता हूं कि यह तरीका असुरक्षित है। क्रेडेंसेस को `~ / .गित-क्रेडेंशियल्स` फ़ाइल में संग्रहित किया जाता है जिसे सिस्टम द्वारा समझौता किए जाने पर दुरुपयोग किया जा सकता है। एक विकल्प के रूप में ssh कीज़ के httpsलिए बेहतर बदलाव sshऔर उपयोग।
मोहित 7548

21

निम्नलिखित चरण आपको इस प्रकार से चलते हैं:

  1. SSH कुंजी उत्पन्न करें (पासफ़्रेज़ के बिना **)
  2. अपने Git रिपॉजिटरी में चरण 1 में उत्पन्न सार्वजनिक कुंजी जोड़ें
  3. उपरोक्त चरणों की पुष्टि सफलतापूर्वक पूरी कर ली गई है
  4. अपना पहला काम करें (उपयोगकर्ता नाम / पासवर्ड प्रदान किए बिना)

** बिना पासफ़्रेज़ के एसएसएच कीज पैदा करना नासमझी है अगर आपका काम विशेष रूप से संवेदनशील है।

ओएस - फेडोरा 28 | संपादक - वीएस कोड v1.23.0 | रिपोजिटरी - गिट

SSH कुंजी उत्पन्न करें:

  • ssh-keygen -t rsa -C "email@goeshere.com"
  • उस फ़ाइल को दर्ज करें जिसमें कुंजी को सहेजना है : Enter दबाएं
  • पासफ़्रेज़ दर्ज करें : Enter दबाएँ
  • फिर से वही पासफ़्रेज़ दर्ज करें : Enter दबाएँ

उपरोक्त चरणों को पूरा करने के बाद, टर्मिनल विंडो में आपकी सार्वजनिक कुंजी का स्थान दिखाया गया है। यदि वर्तमान में लॉग इन किया गया उपयोगकर्ता 'बॉब' है, तो आपकी सार्वजनिक कुंजी का स्थान /home/bob/.ssh/id_rsa.pub होगा

GitHub में सार्वजनिक कुंजी की प्रतिलिपि बनाएँ और आयात करें:

  • cat /home/bob/.ssh/id_rsa.pub

  • उस संपूर्ण सार्वजनिक कुंजी को कॉपी करें जो अब आपके टर्मिनल विंडो में क्लिपबोर्ड पर प्रदर्शित होती है

  • Https://github.com पर जाएं और साइन इन करें
  • स्क्रीन के ऊपरी दाएं कोने में उपयोगकर्ता आइकन पर क्लिक करें और सेटिंग्स का चयन करें
  • SSH और GPG कुंजी पर क्लिक करें
  • नई SSH कुंजी पर क्लिक करें
  • एक शीर्षक दर्ज करें, पहली गोली बिंदु में क्लिपबोर्ड पर कॉपी की गई सार्वजनिक कुंजी पेस्ट करें, और एसएसएच कुंजी जोड़ें क्लिक करें

उपरोक्त चरणों की पुष्टि करें:

  • ssh -T git@github.com

  • yes

  • नमस्ते ! आपने सफलतापूर्वक प्रमाणित कर दिया है, लेकिन GitHub शेल एक्सेस प्रदान नहीं करता है।

पहला कमिटमेंट / पुश बिना यूजरनेम / पासवर्ड डाले: -touch test.txt

  • git add test.txt

  • git commit- संपादक खोलता है, एक संदेश दर्ज करें और फ़ाइल सहेजें। यदि vi आपका संपादक है, iतो फ़ाइल खोलने से पहले एक बार दबाएं, संदेश दर्ज करें, esc दबाएँ और फिर :xपरिवर्तनों को सहेजने के लिए दर्ज करें।

  • git push

जब आप SSH से GitHub करने का प्रयास करते हैं, तो केवल हिचकी आपका सामना कर सकती है। यह लिंक कुछ सहायता प्रदान करेगा -

हैप्पी हंटिंग!


20

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

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


3
काश लिनक्स के लिए "गिट क्रेडेंशियल मैनेजर" भी होता। ओह, रुको मैं ssh-agentपहले से ही चल रहा हूं । लेकिन VS कोड लिनक्स पर इसे नजरअंदाज करता है।
विजील

यह मेरे लिए सबसे सरल उपाय है। और यह बहुत अच्छा काम करता है! यह इंगित करने के लिए धन्यवाद
dapidmini

20

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

git config --global credential.helper wincred

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

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


2
धन्यवाद! समस्या हल हो गई, और यह भी एक !
जेफरी रोसडेन्गल

4
Ubuntu पर, storeइसके बजाय का उपयोग करें wincred
सेस टिम्मरमैन

1
यह मेरे लिए काम किया! आप git config --global credential.helper 'cache --timeout==1209600'डिफ़ॉल्ट 15 मिनट के बजाय 2 सप्ताह तक इसे बनाने के लिए उदा भी कर सकते हैं । स्रोत: help.github.com/en/github/use-git/…
एंड्रयू

1
^ इस पर अधिक जानकारी के लिए, यहां देखें: git-scm.com/docs/gitcredentials git-scm.com/docs/git-credential-cache git-scm.com/docs/git-credential-store store पर इसे स्थायी रूप से संग्रहीत करेगा डिस्क। इसके अलावा, मेरी पिछली टिप्पणी में एक त्रुटि है: उपयोग न करें ==, उपयोग करें =। संपादित करने के लिए बहुत देर हो चुकी है।
एंड्रयू

18

Http / https के बजाय ssh का प्रयोग करें।

आपको अपने स्थानीय मशीन पर ssh कीज़ सेट करने की आवश्यकता होगी, उन्हें अपने git सर्वर पर अपलोड करना होगा और url फॉर्म http://को बदलना git://होगा और अब आपको पासवर्ड का उपयोग करने की आवश्यकता नहीं होगी।

यदि आप ssh का उपयोग नहीं कर सकते हैं तो इसे अपने विन्यास में जोड़ें:

[credential "https://example.com"]
    username = me

दस्तावेज़ यहाँ हैं


Github में ssh कुंजी का उपयोग करना


बस उन चरणों का पालन करें और आप कुछ ही समय में अपनी ssh कुंजी सेट करेंगे:

  • नई ssh कुंजी उत्पन्न करें (या यदि आपके पास पहले से कोई कुंजी है तो इस चरण को छोड़ दें)
    ssh-keygen -t rsa -C "your@email"

  • एक बार जब आप home/.sshनिर्देशिका (या Users/<your user>.sshविंडोज़ के तहत) में अपना मुख्य सेट करते हैं , तो इसे खोलें और सामग्री को कॉपी करें


Github खाते में sh कुंजी कैसे जोड़ें?

  • Github खाते में लॉगिन करें
  • शीर्ष दाईं ओर स्थित रैंचर पर क्लिक करें (सेटिंग्स)
    github खाता बसाता है
  • पर क्लिक करें SSH keys
    ssh कुंजी अनुभाग
  • पर क्लिक करें Add ssh key
    Ssh कुंजी जोड़ें
  • अपनी कुंजी पेस्ट करें और सहेजें

और तुम सब जाने के लिए तैयार :-)


4
आपको यह भी स्पष्ट करना चाहिए कि मूल कारण क्या है। मेरे मामले में, जब से मैंने दो कारक प्रमाणीकरण सक्षम किए हैं, तब SSH रेपो से जुड़ने का एकमात्र तरीका है। किसी भी https कनेक्शन से ऐसा संकेत मिलेगा।
लेक्स ली

@codeWizard मुझे ठीक से याद नहीं है कि क्या हुआ था लेकिन VS कोड ठीक काम कर रहा था, मेरा मतलब है कि बिना किसी अतिरिक्त कॉन्फ़िगरेशन के GitHub रेपो से कनेक्ट करना, मुझे लगता है कि शायद समस्या यह थी कि मैंने Github डेस्कटॉप के बाद Git स्थापित किया था, क्या यह संभव हो सकता है?
ddieppa 12

VC अपने क्रेडेंशियल्स को आंतरिक रूप से संग्रहीत कर सकता है और एक बार आपके द्वारा पुनः स्थापित / अपग्रेड किए गए कॉन्फ़िगरेशन को बदल दिया जा सकता है। Im नहीं एक VC उपयोगकर्ता im एक UNIX आदमी है तो मैं इसे अपने मशीन पर परीक्षण नहीं कर सकता।
कोडवर्ड छिपी

3
@codeWizard VS कोड ओपन सोर्स और मल्टी-प्लेटफॉर्म है, आप इसे विंडोज, मैकओएस या लिनक्स :) पर चला सकते हैं, ssh वेरिएंट पर काम कर रहे हैं और देख सकते हैं कि मुझे क्या मिलेगा
ddieppa

1
प्रलेखन का लिंक टूट गया है।
विशाल

14

सामान्य तौर पर, आप बिल्ट-इन क्रेडेंशियल स्टोरेज सुविधाओं का उपयोग कर सकते हैं:

git config --global credential.helper store

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

git config --global credential.helper wincred

या, यदि आप MacOS पर हैं, तो आप उनकी साख प्रणाली का उपयोग कर सकते हैं:

git config --global credential.helper osxkeychain

पहला समाधान अधिकांश स्थितियों में इष्टतम है।


6

स्वचालित गिट प्रमाणीकरण । V1.45 रिलीज नोट्स से :

GitHub रिपॉजिटरी के लिए GitHub प्रमाणीकरण

VS कोड में अब GitHub रिपॉजिटरी के खिलाफ स्वचालित GitHub प्रमाणीकरण है। अब आप अपने सिस्टम में किसी भी क्रेडेंशियल मैनेजर को कॉन्फ़िगर किए बिना, सार्वजनिक और निजी रिपॉजिटरी से क्लोन, पुल, पुश और पुश कर सकते हैं। यहां तक ​​कि Git कमांड को एकीकृत टर्मिनल में भी शामिल किया गया है, उदाहरण के लिए git धक्का, अब स्वचालित रूप से आपके GitHub खाते के खिलाफ प्रमाणित हो जाता है।

आप git.githubAuthenticationसेटिंग के साथ GitHub प्रमाणीकरण को अक्षम कर सकते हैं । आप git.terminalAuthentication सेटिंग के साथ टर्मिनल प्रमाणीकरण एकीकरण को भी अक्षम कर सकते हैं ।


महान! लिनक्स पर इन दो सेटिंग को अक्षम करना (Ubuntu 18.04 + KDE प्लाज्मा) क्रेडेंशियल हैंडलिंग को ठीक करता है। ये दो सक्षम askpass = /usr/bin/ksshaskpassमेरे में ओवरराइड कर रहे थे .gitconfigऔर परिणामस्वरूप मुझे हर बार उपयोगकर्ता नाम और पासवर्ड मिल रहा था। यह संभवतः अधिक मशीनों पर संस्करण 1.45 भूमिकाओं के रूप में अधिक उत्थान होगा।
आंद्रेई सिनिट्सन

4

विंडोज़ 10 के लिए: कंट्रोल पैनल / क्रेडेंशियल मैनेजर / विंडोज क्रेडेंशियल पर जाएं -> गिट लिंक पर क्लिक करें, -> संपादित करें -> नए पासवर्ड पर अपडेट करें। वह काम करना चाहिए


2

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

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


2

थोड़ी देर के लिए कुछ इस तरह से लड़ने के बाद, मुझे लगता है कि मैं एक अच्छा समाधान के साथ आया था, खासकर जब गिटहब और बिटबकेट दोनों में कई खाते थे। हालांकि, VSCode के लिए, यह अंततः इसे Git Bash टर्मिनल से शुरू करने के रूप में समाप्त हो गया, ताकि इसे bash सत्र से पर्यावरण चर मिले और यह पता चले कि किस ssh-agent को देखना है।

मुझे लगता है कि यह एक पुरानी पोस्ट है, लेकिन मुझे अभी भी एक जगह खोजने के लिए संघर्ष करना पड़ा जिसकी मुझे जरूरत थी। इसके अलावा 2017 के बाद से, ssh- एजेंट को पासफ़्रेज़ के लिए आपको संकेत देने की क्षमता मिली जब आप एक रेपो तक पहुंचने का प्रयास करते हैं।

अगर कोई दिलचस्पी रखता है, तो मैं अपने निष्कर्षों को यहां रखूंगा :


1

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

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


1

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

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


1

मुझे विजुअल स्टूडियो कोड में इसी तरह की समस्या थी।

मैंने दूरस्थ url को https में बदलकर हल किया । (फाइल .git / config में)

[remote "origin"]
    url = https://user@server.com/plesk-git/project.git

और भी

git config --global credential.helper wincred

फिर से खींचा गया, विंडोज़ क्रेडेंशियल पॉपअप सामने आया, समस्याओं को हल किया गया।


0

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

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


0

मैं निम्नलिखित चरणों को पूरा करके इसे रोकने में कामयाब रहा।

  1. Git डेस्कटॉप को अनइंस्टॉल करें (यह सुनिश्चित नहीं है कि यह आवश्यक है)
  2. cd "C:\Program Files\Git\mingw64\libexec\git-core"उसके बाद क्रेडेंशियल प्रबंधक की स्थापना रद्द करेंgit-credential-manager.exe uninstall
  3. Wincred का उपयोग करने के लिए क्रेडेंशियल सहायक को रीसेट करें git config --global credential.helper wincred
  4. उपयोगकर्ता वीएस कोड कुछ परिवर्तन और फिर से इनपुट क्रेडेंशियल्स पुश करने के लिए।

नोट: मैं अपने पासवर्ड के रूप में एक व्यक्तिगत एक्सेस टोकन का उपयोग कर रहा था।


0

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

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

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


0

ऊपर ssh config प्रविष्टियों को जोड़ने के अलावा

अगर खिड़कियां

Set-Service ssh-agent -StartupType Automatic 

इस शब्‍दावली में अब बनाम कोड का संकेत नहीं देना चाहिए ...


0

विंडोज़ के लिए 10 प्रेस विंडोज़ कुंजी टाइप क्रेडेंशियल और आपको कंट्रोल पैनल में "क्रेडेंशियल मैनेजर" देखना चाहिए जिसे खोलने के लिए क्लिक करें और फिर संबंधित कैश की गई क्रेडेंशियल्स को हटा दें, फिर से प्रयास करें, यह सही पासवर्ड में यूजर आईडी पासवर्ड कुंजी पूछेगा और आप अच्छे होंगे ।

जब मैंने अपना नेटवर्क पासवर्ड बदला तो मेरे साथ हुआ


0

मैं आमतौर पर इस सामान्य कमांड को https से sit में git रिमोट यूआरएल को बदलने के लिए चलाता हूं

git remote set-url origin git@github.com:username/repo-name-here.git
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.