मैं अपना वैश्विक Git कॉन्फ़िगरेशन कैसे दिखाऊँ?


1076

मैं सभी कॉन्फ़िगर किए गए गिट अनुभागों को दिखाना चाहूंगा।

मैंने केवल पाया git config --get core.editor, और मैं सब कुछ आउटपुट करना चाहता हूं जो कि विश्व स्तर पर कॉन्फ़िगर किया गया है, न केवल कॉन्फ़िगर किया गया डिफ़ॉल्ट संपादक।


3
.Gitconfig देखने में क्या गलत है?
रूक

1
ध्यान दें कि आप जल्द ही (Q3 / Q4 2015) के पास git 2.6 विकल्प होगा --name-only, केवल कॉन्फिग कीज को सूचीबद्ध करने के लिए, उनके मानों के बिना। देखें नीचे मेरा उत्तर
VonC


5
यह यहाँ केgit config --global --list रूप में गहराई से समझाया जाना चाहिए
प्रोस्टी

जवाबों:


1720

आप उपयोग कर सकते हैं:

git config --list

या अपनी ~/.gitconfigफ़ाइल देखें। स्थानीय कॉन्फ़िगरेशन आपकी रिपॉजिटरी की .git/configफ़ाइल में होगा।

उपयोग:

git config --list --show-origin

यह देखने के लिए कि सेटिंग कहाँ परिभाषित है (वैश्विक, उपयोगकर्ता, रेपो, आदि ...)


24
धन्यवाद, मैंने आप दोनों को उकसाया। मैं जानना चाहता था git config --listआदेश क्योंकि मैं एक भंडार में प्रभावी config देख सकते हैं और मैं उपयुक्त पैरामीटर के साथ स्थानीय, वैश्विक और प्रणाली config अलग हो सकता है ( --global, --local, --system)। मैं आपके उत्तर को जल्द से जल्द स्वीकार करूँगा क्योंकि आप कुछ सेकंड तेज़ थे :)
wullxz

2
सावधान रहें, गिट कॉन्फ़िगरेशन के लिए बहुत सारे संभावित स्रोत हैं। फ़ाइल को देखने से केवल एक भाग मिलता है। @ linquize का जवाब वास्तव में सही है।
वॉनब्रांड

2
@vonbrand: - सूची -l के बराबर है।
कैमरन स्किनर

9
शॉर्टहैंड (जैसे -l) काम में आते हैं जब आप एक पावर यूजर बनते हैं और फीचर का इस्तेमाल अक्सर करते हैं, जिससे कम अक्षर टाइप करने से वास्तव में लाभ होता है। मुझे लंबे --listविकल्प को ढूंढना और याद रखना आसान है । कम स्पष्ट शॉर्टहैंड के लिए मुझे अक्सर जांचना पड़ता है कि वे किस लिए खड़े हैं, इसलिए मैं लंबे नामों को पसंद करता हूं। वे तब भी आसान होते हैं, जब आप वास्तव में सभी वर्णों को लिखना नहीं चाहते हैं, तो कमांड पूरा होने के साथ, लेकिन फिर भी पूरे विकल्प का नाम देखें।
Krzysztof Jabłoński

1
क्या होगा अगर git config --listप्रिंट कुछ भी नहीं?
मतेज जे

247

सबसे छोटा,

git config -l

सभी विरासत में मिले मूल्यों को दिखाता है: सिस्टम, वैश्विक और स्थानीय


13
क्या यह git config --list से भिन्न है , या क्या यह लिखने का एक छोटा तरीका है?
मैगनीलेक्स

8
@Magnilex इसे लिखने का सिर्फ एक छोटा तरीका है
LemenDrop

3
कॉन्फ़िगरेशन फ़ाइलें हमेशा सभी इनहेरिट किए गए कॉन्फ़िगरेशन को नहीं दिखा सकती हैं , लेकिन git config -lसब कुछ दिखाएंगी। मुझे बचाया क्योंकि autocrlfअधिष्ठापन पर विंडोज़ सेट के लिए गिट , और यह किसी भी विन्यास फाइल में नहीं है जिसे मैं पा सकता हूं।
जीनोरमा

हां, C: \ ProgramData \ Git \ config फाइल भी है - मुझे लगता है कि यह वैश्विक या सिस्टम git कॉन्फिग फाइल है
एलेक्स

129

मैं अपने वैश्विक Git कॉन्फ़िगरेशन को कैसे संपादित करूं ?

संक्षिप्त जवाब: git config --edit --global


Git कॉन्फ़िगरेशन को समझने के लिए, आपको पता होना चाहिए कि:

गिट कॉन्फ़िगरेशन चर को तीन अलग-अलग स्तरों पर संग्रहीत किया जा सकता है। प्रत्येक स्तर पिछले स्तर पर मूल्यों को ओवरराइड करता है।

1. सिस्टम स्तर (सिस्टम और उनके सभी रिपॉजिटरी पर प्रत्येक उपयोगकर्ता के लिए लागू)

  • देखने के लिए, git config --list --system(आवश्यकता हो सकती है sudo)
  • स्थापित करना, git config --system color.ui true
  • सिस्टम कॉन्‍फ़िगर फ़ाइल संपादित करने के लिए, git config --edit --system

2. वैश्विक स्तर (मान विशिष्ट रूप से आपके लिए, उपयोगकर्ता)।

  • देखने के लिए, git config --list --global
  • स्थापित करना, git config --global user.name xyz
  • वैश्विक कॉन्‍फ़िगर फ़ाइल संपादित करने के लिए, git config --edit --global

3. रिपॉजिटरी स्तर (उस एकल रिपॉजिटरी के लिए विशिष्ट)

  • देखने के लिए, git config --list --local
  • सेट करने के लिए, git config --local core.ignorecase true( --localवैकल्पिक)
  • रिपॉजिटरी कॉन्‍फ़िगर फ़ाइल संपादित करने के लिए, git config --edit --local( --localवैकल्पिक)

मैं सभी सेटिंग कैसे देखूं?

  • भागो git config --list, सिस्टम दिखा रहा है , वैश्विक , और (अगर एक भंडार के अंदर) स्थानीय विन्यास
  • भागो git config --list --show-origin, प्रत्येक विन्यास आइटम की मूल फ़ाइल भी दिखाता है

मैं एक विशेष कॉन्फ़िगरेशन कैसे पढ़ सकता हूं?

  • उदाहरण के git config user.nameलिए user.name, चलाने के लिए।
  • तुम भी विकल्प निर्दिष्ट कर सकता है --system, --global, --localएक विशेष स्तर पर है कि मूल्य को पढ़ने के लिए।

संदर्भ: 1.6 आरंभ करना - पहली बार Git सेटअप


1
git config --listसभी वैश्विक, सिस्टम और स्थानीय दिखाएं? मुझे
पुष्टिकरण

2
बस जोड़ने के लिए जहाँ विन्यास फाइल हैं: सिस्टम: C: \ ProgramData \ Git \ config (विंडोज़ में)। वैश्विक: C: \ Users \ user \ .itconfig (Windows) ~ / .gitconfig (Linux) स्थानीय: प्रोजेक्ट-रेपो / .it / config
एलेक्स

@AdiPrasetyo हाँ। आप git config --list --show-originप्रत्येक कॉन्फ़िगरेशन आइटम की उत्पत्ति का पता लगाने के लिए चला सकते हैं ।
kgf3JfUtW

109
git config --list

एक रास्ता है। मैं आमतौर पर बस खोल देता हूं .gitconfig


2
क्या आपने ~/.gitconfigFILES अनुभाग में उल्लिखित अन्य फ़ाइलों में से किसी एक का इरादा किया था git help config?
चावर

1
@chwarr - क्षमा करें, मैं अंडरस्टैंड नहीं करता। क्या मैंने "इरादा" किया था?
रूक

1
मुझे लगता है कि आपके कहने का अर्थ है "मैं आमतौर पर बस खोल देता हूं ~/.gitconfig।", जैसा .gitconfigकि वर्तमान निर्देशिका में git नहीं दिखता है , चाहे आप जहां भी हों। ( .gitconfigऔर ~/.gitconfigअलग-अलग फ़ाइलों को नाम दें [ आमतौर पर ]।) git help configअलग-अलग फ़ाइल नामों में उल्लिखित अन्य फाइलें , इसलिए धारणा है।
चवर २०'१६ को १:१

32

आप git config -eसीधे अपने संपादक में कॉन्फ़िगरेशन फ़ाइल खोलने के लिए भी कॉल कर सकते हैं। Git कॉन्फ़िगरेशन फ़ाइल बहुत अधिक पठनीय है कि -lआउटपुट, इसलिए मैं हमेशा -eध्वज का उपयोग करता हूं ।

इसलिए संक्षेप में:

git config -l  # List Git configuration settings (same as --list)
git config -e  # Opens Git configuration in the default editor (same as --edit)
  • मापदंडों के बिना यह स्थानीय के साथ बातचीत करता है .git/config
  • इसके साथ --globalबातचीत करता है ~/.gitconfig
  • और इसके साथ --systemबातचीत करता है $(prefix)/etc/gitconfig

(मैं वास्तव में क्या $(prefix)मतलब नहीं मिल सकता है, लेकिन यह करने के लिए डिफ़ॉल्ट लगता है $HOME।)



11

Git 2.6 (सितम्बर / अक्टूबर 2015) --name-onlyएक के उत्पादन को आसान बनाने के लिए विकल्प जोड़ देगा git config -l:

देखें a92330d प्रतिबद्ध , f225987 प्रतिबद्ध , प्रतिबद्ध 9f1429d द्वारा (20 अगस्त 2015) जेफ राजा ( peff)
देखें ebca2d4 प्रतिबद्ध (20 अगस्त 2015), और 905f203 प्रतिबद्ध , प्रतिबद्ध 578625f द्वारा (10 अगस्त 2015) SZEDER Gábor ( szeder)
(द्वारा विलय Junio सी Hamano - gitster- में fc9dfda प्रतिबद्ध , 31 अगस्त 2015)

config: --name-onlyकेवल चर नामों को सूचीबद्ध करने के लिए ' ' विकल्प जोड़ें

' git config' केवल मान या नाम-मूल्य जोड़े दिखा सकता है, इसलिए यदि शेल स्क्रिप्ट को सेट कॉन्फिग वेरिएबल्स के नाम की आवश्यकता है तो उसे ' git config --list' या ' --get-regexp' को रन करना होगा और आउटपुट वैल्यू को उनके वैल्यू से अलग वेरिएबल नामों को पार्स करना होगा।
हालाँकि, ऐसा पार्सिंग मल्टी-लाइन मानों का सामना नहीं कर सकता है।

हालांकि ' git config' न्यूलाइन-सुरक्षित पार्सिंग के लिए शून्य-समाप्त आउटपुट का उत्पादन कर सकता है, लेकिन ऐसे मामले में इसका कोई फायदा नहीं है, क्योंकि शेल अशक्त वर्णों का सामना नहीं कर सकते।

यहां तक ​​कि हमारी अपनी बैश पूर्ण स्क्रिप्ट भी इन मुद्दों से ग्रस्त है।

सामान्य स्क्रिप्ट को पूरा --name-onlyकरने के लिए ' --list' और ' --get-regexp' के आउटपुट को संशोधित करने के लिए ' ' विकल्प को शुरू करके स्क्रिप्ट और शेल स्क्रिप्ट को सामान्य रूप से पूरा करने में मदद करें , इसलिए उन्हें त्रुटि-प्रवण पोस्ट प्रोसेसिंग करने की आवश्यकता नहीं है अब उनके मूल्यों से अलग चर नाम।


10

एक महत्वपूर्ण बात git config:

git configहै --local, --globalऔर --systemस्तर और इसी फ़ाइलें।

तो आप उपयोग कर सकते हैं git config --local, git config --globalऔर git config --system

डिफ़ॉल्ट रूप से, स्थानीय स्तर पर git configलिखेंगे यदि कोई कॉन्फ़िगरेशन विकल्प पारित नहीं हुआ है। स्थानीय कॉन्फ़िगरेशन मान एक फ़ाइल में संग्रहित किए जाते हैं जो रिपॉजिटरी की .git निर्देशिका में पाई जा सकती है:.git/config

वैश्विक स्तर का कॉन्फ़िगरेशन उपयोगकर्ता-विशिष्ट है, जिसका अर्थ है कि यह एक ऑपरेटिंग सिस्टम उपयोगकर्ता पर लागू होता है। वैश्विक कॉन्फ़िगरेशन मान एक फ़ाइल में संग्रहीत किए जाते हैं जो उपयोगकर्ता के होम डायरेक्टरी में स्थित है। ~/.gitconfigयूनिक्स सिस्टम और C:\Users\<username>\.gitconfigविंडोज पर।

सिस्टम-लेवल कॉन्फ़िगरेशन पूरे मशीन में लागू किया जाता है। यह सभी उपयोगकर्ताओं को एक ऑपरेटिंग सिस्टम और सभी रिपॉजिटरी में शामिल करता है। सिस्टम स्तर कॉन्फ़िगरेशन फ़ाइल gitconfigसिस्टम रूट पथ से एक फ़ाइल में रहती है । लिनक्स सिस्टम पर $ (उपसर्ग) / आदि / gitconfig। विंडोज पर यह फाइल मिल सकती है C:\ProgramData\Git\config

तो आपका विकल्प उस वैश्विक .gitconfigफ़ाइल को ढूंढना और उसे संपादित करना है।

या आप उपयोग कर सकते हैं git config --global --list

यह वही रेखा है जिसकी आपको आवश्यकता है।

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


7

यदि आप बस Git कॉन्फ़िगरेशन के एक भाग को सूचीबद्ध करना चाहते हैं, जैसे कि उपनाम , कोर , रिमोट , आदि, तो आप बस grep के माध्यम से परिणाम को पाइप कर सकते हैं। कुछ इस तरह:

git config --global -l | grep core

4

लिनक्स-आधारित सिस्टम पर आप एक विन्यास फाइल को देख / संपादित कर सकते हैं

vi/vim/nano .git/config

सुनिश्चित करें कि आप Git init फ़ोल्डर के अंदर हैं।

यदि आप के साथ काम करना चाहते हैं --global config, तो यह है

vi/vim/nano .gitconfig

on / home / userName

इसे संपादन में मदद करनी चाहिए: https://help.github.com/categories/setup/


3

सभी कॉन्फ़िगरेशन को खोजने के लिए, आप बस यह कमांड लिखते हैं:

git config --list

मेरे स्थानीय में मैं इस कमांड को चलाता हूं।

Md Masud@DESKTOP-3HTSDV8 MINGW64 ~
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
user.email=infomasud@gmail.com
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f

Git config कमांड एक सुविधा फंक्शन है जिसका उपयोग Git कॉन्फ़िगरेशन मानों को वैश्विक या स्थानीय प्रोजेक्ट स्तर पर सेट करने के लिए किया जाता है। ये कॉन्फ़िगरेशन स्तर .gitconfig पाठ फ़ाइलों के अनुरूप हैं। यहाँ और पढ़ें: atlassian.com/git/tutorials/setting-up-a-repository/git-config
infomasud

महान, क्या आप इसे अपने उत्तर में जोड़ सकते हैं?
RamenChef

1

Git 2.26.0 के बाद से , आप --show-scopeविकल्प का उपयोग कर सकते हैं :

git config --list --show-scope

उदाहरण आउटपुट:

system  rebase.autosquash=true
system  credential.helper=helper-selector
global  core.editor='code.cmd' --wait -n
global  merge.tool=kdiff3
local   core.symlinks=false
local   core.ignorecase=true

इसके साथ जोड़ा जा सकता है

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