@ 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
गिथूब (काम के लिए एक, खेलने के लिए एक) के लिए संबद्ध एसएसएच कुंजी के साथ उपयोग कर सकते हैं और प्रमाणीकरण के संदर्भ को भी हल करने के लिए कस्टम-नामित दूरस्थ होस्ट नाम भी उपयोग कर सकते हैं।
~/.netrc
फाइल है?