टर्मिनल पर git यूजर को कैसे स्विच करें?


46

मैं कमांड लाइन से एक परियोजना को दूरस्थ रिपॉजिटरी में धकेलने की कोशिश कर रहा हूं।

मेरी स्थानीय निर्देशिका के अंदर से, मैंने मारा:

$ git push

और निम्न त्रुटि प्राप्त करें:

दूरस्थ: उपयोगकर्ता नाम 1 से इनकार कर दिया गया है।
घातक: ' https://github.com/username1/repo.git/ ' का उपयोग करने में असमर्थ :
अनुरोधित URL में त्रुटि आई: 403

जहाँ username1मेरा github खाता उपयोगकर्ता नाम है, उस रिपॉजिटरी की मेजबानी करता हूँ जिसे मैं पुश करना चाहता हूँ और username2एक पुराना खाता है जिसका उपयोग मैं इस मशीन पर करता था।

मैं मैकबुक एयर पर OS X Yosemite (v10.10.5) का उपयोग कर रहा हूं। और मैं ssh के बजाय https का उपयोग करना पसंद करूंगा ।

मैं कैसे अपडेट करूं username1जिससे मैं अपने रिमोट को सफलतापूर्वक पुश कर सकूं?

संपादित करें: स्पष्ट होने के लिए, मैं केवल config userऑब्जेक्ट को संपादित करने के बारे में बात नहीं कर रहा हूं , उदाहरण के लिए,

$ git config --global user.name "Billy Everyteen"
$ git config --global user.email "billyeveryteen@example.com"

प्रमाणीकरण से उनका कोई लेना-देना नहीं है। मेरा प्रश्न मेरे दूरस्थ रिपॉजिटरी को लिखने के लिए आवश्यक उपयोगकर्ता प्रमाणीकरण से संबंधित है।



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

1
आप इसे git-scm.com/docs/gitcredentials पर प्रलेखित कमांड उपयोगकर्ता को बदलने में सक्षम हो सकते हैं । वैकल्पिक रूप से, यदि आप क्रेडेंशियल्स को खाली करना चाहते हैं, तो आप इस प्रश्न को देख सकते हैं stackoverflow.com/questions/1538119898 ……
जॉन

यह समस्या का समाधान नहीं करता है!
मिखाइल सालारी

क्या होगा अगर मैं स्थानीय गिट सेटिंग्स बदलना नहीं चाहता?
अर्कडी

जवाबों:


42

टर्मिनल से उपयोगकर्ता नाम और ईमेल बदलने के अलावा git config:

$ git config --global user.name "Bob"
$ git config --global user.email "bob@example.com"

आपको किचेन से प्राधिकरण जानकारी निकालने की आवश्यकता होगी। यह कुछ ऐसा है जिससे मैंने तब तक संघर्ष किया है जब तक मैंने पाया नहीं कि मेरे किचेन में भी प्रमाण पत्र था।

किचेन एक्सेस खोलें, सभी आइटम पर क्लिक करें और खोजें git। आपको कुछ आइटम इस तरह मिलेंगे:

स्क्रीनशॉट

उन्हें हटाओ। अब रेपो को पुश करने का प्रयास करें और git आपको उपयोगकर्ता के लिए पासवर्ड लिखने के लिए कहेगा और आप जाने के लिए अच्छा होगा।


1
विंडोज उपयोगकर्ताओं के बारे में क्या?
अक्स ..

2
मेरे पास कई खाते हैं, मुझे क्या करना चाहिए
अमीरनाथ

मैं win7 के साथ एक ही मुद्दा रहा हूँ। मुझे यकीन नहीं है कि समाधान क्या है :(
फिडेल फ्रीक

22

Cli उपयोगकर्ताओं के लिए, बस इसका उपयोग करें: git config credential.username 'Billy Everytee'


आपको अस्थायी रूप से 2FA को अक्षम करने की आवश्यकता है।
bassassssiiee

10

विंडोज यूजर के लिए:
निर्देशों का पालन करें:
कंट्रोल पैनल >> यूजर अकाउंट >> क्रेडेंशियल मैनेजर >> विंडोज क्रेडेंशियल >> जेनेरिक क्रेडेंशियल

git क्रेडेंशियल निकालें।
अगली बार जब आप रेपो को धक्का देंगे तो यह आपसे क्रेडेंशियल के लिए पूछेगा।
विस्तृत विवरण के लिए उत्तर संदर्भ


धन्यवाद! यही मैं विंडोज पर देख रहा था।
जेसीएफ

@ जेसीएफ आपका स्वागत है! मुझे खुशी है कि इसने मदद की!
शुभम चाडोकर

6

अपने git config को सूचीबद्ध करें।

git config --list

उपयोगकर्ता नाम और ईमेल वैश्विक बदलें

git config --global user.name "Nanhe Kumar"
git config --global user.email "info@nanhekumar.com"

वर्तमान रेपो के लिए उपयोगकर्ता नाम और ईमेल बदलें

git config  user.name "Nanhe Kumar"
git config  user.email "info@nanhekumar.com"

यदि आप बिट बाल्टी का उपयोग कर रहे हैं तो अपने रेपो यूआरएल को बदलें।

nano .git/config

यह फाइल कुछ इस तरह होगी। [core] repositoryformatversion = 0 fileMode = false bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = https://nanhe@bitbucket.org/nanhekumar/myproject.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master

[user]
        name = Nanhe Kumar
        email = info@nanhekumar.com

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