खोज…


वाक्य - विन्यास

  • git config [<file-option>] नाम [value] # git config के अधिक सामान्य उपयोग मामलों में से एक है

पैरामीटर

पैरामीटर विवरण
--system सिस्टम-वाइड कॉन्फ़िगरेशन फ़ाइल को संपादित करता है, जो प्रत्येक उपयोगकर्ता के लिए उपयोग किया जाता है (लिनक्स पर, यह फ़ाइल $(prefix)/etc/gitconfig )
--global वैश्विक कॉन्फ़िगरेशन फ़ाइल को संपादित करता है, जिसका उपयोग आपके द्वारा लिनक्स पर काम करने वाले प्रत्येक रिपॉजिटरी के लिए किया जाता है, यह फ़ाइल ~/.gitconfig पर स्थित है।
--local रिस्पॉजिटरी-विशिष्ट कॉन्फ़िगरेशन फ़ाइल को संपादित करता है, जो आपकी रिपॉजिटरी में .git/config पर स्थित है; यह डिफ़ॉल्ट सेटिंग है

उपयोगकर्ता नाम और ईमेल पता

आपके द्वारा Git इंस्टॉल करने के ठीक बाद, पहली चीज़ जो आपको करनी चाहिए, वह है अपना उपयोगकर्ता नाम और ईमेल पता। एक शेल से, टाइप करें:

git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
  • git config विकल्प प्राप्त करने या सेट करने के लिए कमांड है
  • --global अर्थ है कि आपके उपयोगकर्ता खाते के लिए विशिष्ट कॉन्फ़िगरेशन फ़ाइल संपादित की जाएगी
  • user.name और user.email कॉन्फ़िगरेशन चर की कुंजी हैं; user कॉन्फ़िगरेशन फ़ाइल का अनुभाग है। name और email चर के नाम हैं।
  • "Mr. Bean" और [email protected] ऐसे मूल्य हैं जो आप दो चर में संग्रहीत कर रहे हैं। "Mr. Bean" आसपास के उद्धरणों पर ध्यान दें, जिनकी आवश्यकता है क्योंकि आप जो मूल्य जमा कर रहे हैं उसमें एक स्थान होता है।

एकाधिक गिट विन्यास

आपके पास git कॉन्फ़िगरेशन के लिए 5 स्रोत हैं:

  • 6 फाइलें:
    • %ALLUSERSPROFILE%\Git\Config (केवल Windows)
    • (सिस्टम) <git>/etc/gitconfig , git इंस्टालेशन पथ होने के साथ <git>
      (विंडोज पर, यह <git>\mingw64\etc\gitconfig )
    • (सिस्टम) $XDG_CONFIG_HOME/git/config (केवल लिनक्स / मैक)
    • (वैश्विक) ~/.gitconfig (Windows: %USERPROFILE%\.gitconfig )
    • (स्थानीय) .git/config (git रेपो $GIT_DIR भीतर)
    • एक समर्पित फ़ाइल ( git config -f ), उदाहरण के लिए submodules के कॉन्फिग को संशोधित करने के लिए उपयोग किया जाता है: git config -f .gitmodules ...
  • साथ कमांड लाइन git -c : git -c core.autocrlf=false fetch किसी अन्य को ओवरराइड करेगी core.autocrlf को false सिर्फ इतना है कि के लिए, fetch आदेश।

आदेश महत्वपूर्ण है: एक स्रोत में सेट किए गए किसी भी विन्यास को उसके नीचे सूचीबद्ध स्रोत द्वारा ओवरराइड किया जा सकता है।

git config --system/global/local उन स्रोतों की सूची से 3 आदेश है, लेकिन केवल Git config -l सभी का समाधान कॉन्फ़िगरेशन सूची जाएगा।
"हल" का अर्थ है कि यह केवल अंतिम ओवरराइड कॉन्फिगर वैल्यू को सूचीबद्ध करता है।

जीआईटी 2.8 के बाद से, यदि आप देखना चाहते हैं कि कौन सी फाइल किस कॉन्फिगर से आती है, तो आप टाइप करें:

git config --list --show-origin

किस संपादक का उपयोग करना है

यह निर्धारित करने के कई तरीके हैं कि किस संपादक को कमिटिंग, रिबासिंग आदि के लिए उपयोग करना है।

  • core.editor कॉन्फ़िगरेशन सेटिंग बदलें।

    $ git config --global core.editor nano
    
  • GIT_EDITOR पर्यावरण चर सेट करें।

    एक आदेश के लिए:

    $ GIT_EDITOR=nano git commit
    

    या टर्मिनल में चलने वाले सभी कमांड के लिए। नोट: यह केवल तब तक लागू होता है जब तक आप टर्मिनल बंद नहीं करते।

    $ export GIT_EDITOR=nano
    
  • सभी टर्मिनल कार्यक्रमों के लिए संपादक को बदलने के लिए, न केवल गिट, VISUAL या EDITOR पर्यावरण चर सेट करें। (देखें VISUAL बनाम EDITOR ।)

    $ export EDITOR=nano
    

    नोट: ऊपर के रूप में, यह केवल वर्तमान टर्मिनल पर लागू होता है; आपके शेल में आमतौर पर एक कॉन्फ़िगरेशन फ़ाइल होगी जो आपको इसे स्थायी रूप से सेट करने की अनुमति देगी। ( bash , उदाहरण के लिए, उपरोक्त पंक्ति को अपने ~/.bashrc या ~/.bash_profile )

कुछ टेक्स्ट एडिटर (ज्यादातर GUI वाले) केवल एक समय में एक इंस्टेंस चलेंगे, और आम तौर पर छोड़ दें यदि आपके पास पहले से ही एक इंस्टेंस है तो उन्हें खोलें। यदि आपके टेक्स्ट एडिटर के लिए यह स्थिति है, तो Git संदेश Aborting commit due to empty commit message. प्रिंट करेगा Aborting commit due to empty commit message. आपको पहले प्रतिबद्ध संदेश को संपादित करने की अनुमति के बिना। यदि आपके साथ ऐसा होता है, तो अपने टेक्स्ट एडिटर के डॉक्यूमेंट से यह देखने के लिए सलाह लें कि क्या यह एक - --wait ध्वज (या समान) है जो दस्तावेज़ बंद होने तक इसे रोक देगा।

लाइन अंत का विन्यास

विवरण

प्रोजेक्ट के दौरान विभिन्न ऑपरेटिंग सिस्टम (OS) का उपयोग करने वाली टीम के साथ काम करते समय, कभी-कभी आप लाइन एंडिंग से निपटने में परेशानी में पड़ सकते हैं।

माइक्रोसॉफ़्ट विंडोज़

Microsoft Windows ऑपरेटिंग सिस्टम (OS) पर काम करते समय, लाइन एंडिंग सामान्य रूप से होती हैं - गाड़ी का रिटर्न + लाइन फीड (CR + LF)। लिनक्स या OSX जैसी यूनिक्स मशीन का उपयोग करके एक फाइल को खोलना परेशानी का कारण बन सकता है, जिससे यह प्रतीत होता है कि टेक्स्ट में कोई लाइन एंडिंग नहीं है। यह इस तथ्य के कारण है कि यूनिक्स सिस्टम केवल फॉर्म लाइन फीड (एलएफ) के विभिन्न लाइन-एंडिंग लागू करते हैं।

इसे ठीक करने के लिए आप निम्नलिखित निर्देश चला सकते हैं

git config --global core.autocrlf=true

चेकआउट पर , यह निर्देश सुनिश्चित करेगा कि लाइन-एंडिंग Microsoft Windows OS (LF -> CR + LF) के अनुसार कॉन्फ़िगर की गई हो

यूनिक्स आधारित (लिनक्स / ओएसएक्स)

इसी तरह, ऐसे मुद्दे हो सकते हैं जब उपयोगकर्ता यूनिक्स आधारित ओएस पर उन फ़ाइलों को पढ़ने की कोशिश करता है जिन्हें माइक्रोसॉफ्ट विंडोज ओएस पर संपादित किया गया है। ताकि किसी भी अप्रत्याशित समस्या को रोका जा सके

git config --global core.autocrlf=input

प्रतिबद्ध होने पर , यह सीआर + एलएफ -> + एलएफ से लाइन-एंडिंग बदल देगा

केवल एक कमांड के लिए कॉन्फ़िगरेशन

आप केवल एक कमांड के लिए कॉन्फ़िगरेशन जोड़ने के लिए -c <name>=<value> का उपयोग कर सकते हैं।

.Gitconfig में अपनी सेटिंग्स बदलने के लिए बिना किसी अन्य उपयोगकर्ता के रूप में करने के लिए:

git -c user.email = mail@example commit -m "some message"

नोट: उस उदाहरण के लिए आपको user.name और user.email दोनों को सटीक करने की आवश्यकता नहीं है, git पिछले कमिट से गायब जानकारी को पूरा करेगा।

एक प्रॉक्सी सेट करें

यदि आप एक प्रॉक्सी के पीछे हैं, तो आपको इसके बारे में बताना होगा:

git config --global http.proxy http://my.proxy.com:portnumber

यदि आप प्रॉक्सी के पीछे नहीं हैं:

git config --global --unset http.proxy

ऑटो सही टाइपो

git config --global help.autocorrect 17

यह git में स्वतः पूर्णता को सक्षम करता है और आपकी छोटी गलतियों (उदाहरण के लिए git status बजाय git stats ) के लिए आपको माफ़ कर देगा। help.autocorrect करने के लिए आप जो पैरामीटर सप्लाई करते हैं। help.autocorrect यह निर्धारित करता है कि स्वचालित रूप से स्वचालित कमांड को लागू करने से पहले सिस्टम को एक सेकंड के दसवें भाग में कितनी देर तक इंतजार करना चाहिए। ऊपर दिए गए आदेश में, 17 का अर्थ है कि ऑटोकार्ट किए गए कमांड को लागू करने से पहले git को 1.7 सेकंड इंतजार करना चाहिए।

हालाँकि, बड़ी गलतियों को मिसिंग कमांड माना जाएगा, इसलिए git testingit तरह कुछ टाइप करने पर git testingit परिणाम होगा testingit is not a git command.

वर्तमान कॉन्फ़िगरेशन को सूचीबद्ध करें और संपादित करें

Git config आपको काम करने के तरीके को अनुकूलित करने की अनुमति देता है। यह आमतौर पर आपके नाम और ईमेल या पसंदीदा संपादक को सेट करने के लिए उपयोग किया जाता है या विलय कैसे किया जाना चाहिए।

वर्तमान कॉन्फ़िगरेशन को देखने के लिए।

$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...

कॉन्फ़िगरेशन को संपादित करने के लिए:

$ git config <key> <value>    
$ git config core.ignorecase true

यदि आप परिवर्तन को अपने सभी रिपॉजिटरी के लिए सही होने का इरादा रखते हैं, तो --global उपयोग करें

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi

आप अपने परिवर्तनों को देखने के लिए फिर से सूचीबद्ध कर सकते हैं।

एकाधिक उपयोगकर्ता नाम और ईमेल पता

Git 2.13 के बाद से, कई उपयोगकर्ता नाम और ईमेल पते एक फ़ोल्डर फ़िल्टर का उपयोग करके कॉन्फ़िगर किए जा सकते हैं।

विंडोज के लिए उदाहरण:

.gitconfig

संपादित करें: git config --global -e

जोड़ें:

[includeIf "gitdir:D:/work"]
  path = .gitconfig-work.config    

[includeIf "gitdir:D:/opensource/"]
  path = .gitconfig-opensource.config
टिप्पणियाँ
  • आदेश को अंतिम रूप दिया गया है, जो "जीत" से मेल खाता है।
  • / अंत में जरूरत है - जैसे "gitdir:D:/work" काम नहीं करेगा।
  • gitdir: उपसर्ग आवश्यक है।

.gitconfig-work.config

.Gitconfig के समान निर्देशिका में फ़ाइल करें

[user]
  name = Money
  email = [email protected]

.gitconfig-opensource.config

.Gitconfig के समान निर्देशिका में फ़ाइल करें

[user]
  name = Nice
  email = [email protected]

लिनक्स के लिए उदाहरण

[includeIf "gitdir:~/work/"]
  path = .gitconfig-work
[includeIf "gitdir:~/opensource/"]
  path = .gitconfig-opensource

खंड विंडोज के तहत फ़ाइल सामग्री और नोट्स।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow