मैक ओएस एक्स शब्द को कैसे कॉन्फ़िगर करें ताकि गिट रंग हो? [बन्द है]


200

मैंने एक मैक OS X git डेमो ऑनलाइन देखा है जिसमें इसे कई रंगों के लिए कॉन्फ़िगर किया गया है।

उदाहरण के लिए, उनका संकेत एम्बर है, उनकी lsनिर्देशिका बैंगनी है और उनके git diffआउटपुट में ~ 4 रंग हैं (गुलाबी, हल्का हरा, लाल, पीला पीला)।

क्या आप मुझे बता सकते हैं कि मैं इसे प्राप्त करने के लिए मैक ओएस एक्स टर्मिनल को कैसे कॉन्फ़िगर कर सकता हूं? यह निश्चित रूप से Mac OS X Terminal.app है, iTerm नहीं।


3
सिवाय इसके कि superuser.com अभी भी निजी बीटा में है और yinglcs में शायद पहुंच नहीं है।
फ्रेड्रिक

क्या ब्लॉग . stackoverflow.com/2009/07/ ... पर उल्लेख के अलावा कुछ सुपर उपयोगकर्ता बीटा साइन-अप की आवश्यकता है ?
233 बजे Las3rjock

3
शायद नहीं, लेकिन कितने उपयोगकर्ताओं को इसके बारे में पता है? यह ऐसा नहीं है कि superuser.com पर उस पोस्ट का लिंक है कि जिस उपयोगकर्ता को सवाल मिला है वह माइग्रेट हो जाएगा जब वह वहां पहुंच जाएगा (यदि यह है, तो मैं इसे नहीं ढूंढ सकता)।
फ्रेड्रिक

3
फिर भी एक और मददगार सवाल बंद हो गया। शुक्र है कि इससे पहले कि कुछ लोग जवाब नहीं दे सके।
बेन थर्ले

1
यह अब तक अच्छी तरह से स्थापित है कि जीआईटी प्रश्न ऑन-टॉपिक हैं; @ casperOne का यहाँ बंद होना गलत है, और मुझे फिर से खोलने के लिए वोट दिया गया है।
मार्क अमेरी

जवाबों:


391

विलियम पर्सेल का उत्तर केवल 'गिट डिफरेंस' कमांड के लिए रंग को सक्षम बनाता है। सभी गिट कमांड के लिए रंगों को सक्षम करने के लिए ऐसा करें:

$ git config --global color.ui true

मुझे जिस चीज की जरूरत थी। धन्यवाद।
jffgrdnr

1
शुद्ध पूर्णता। धन्यवाद महोदय।
ब्रैंडन बक

1
: या तुम यहाँ इस विकल्प अमीर विकल्प की जाँच कर सकते gist.github.com/trey/2722934
Yannis Dran

@yinglcs, इस उत्तर को पहले ही स्वीकार कर लेंगे, फिर करेंगे ?!
एलिरन मलका

यह काम नहीं करता है
KansaiRobot

57

गिट भिन्न के उत्पादन में रंग प्रदर्शित करने के लिए, आपको गिट कॉन्फ़िगर करने की आवश्यकता है। दौड़ने की कोशिश करो

$ git config --global color.diff true

अपना $ HOME / .gitconfig उचित रूप से सेट करने के लिए।


विलियम, हाँ! यह वही है जो मुझे याद आ रहा था।
औसत

धन्यवाद, यह सही काम करता है!
एंटीक्वे

13

यह आम तौर पर ऐसा कुछ नहीं है जिसे आप करने के लिए टर्मिनल को कॉन्फ़िगर करते हैं ... टर्मिनल इस बात से अनजान है कि वह क्या दिखा रहा है, लेकिन अपने शेल में यह प्रयास करें (यदि आप बैश का उपयोग कर रहे हैं, तो कुछ अन्य शेल में आप निर्यात नहीं करते हैं लेकिन सेटेनव या कॉल करें कुछ और):

export CLICOLOR=1
export TERM=xterm-color

तब आप कुछ ऐसा सेटअप करने के लिए LSCOLORS जनरेटर का उपयोग कर सकते हैं जिसे आप कुछ इस तरह इस्तेमाल करके निर्यात कर सकते हैं:

export LSCOLORS=fxfxcxdxbxegedabagacad

(उपरोक्त आपको बैंगनी निर्देशिकाएं देनी चाहिए)

जब आप परिणाम से संतुष्ट और संतुष्ट हो जाते हैं, तो अपने उपयोगकर्ता के घर निर्देशिका में तीन पंक्तियों को या तो अपने / etc / bashrc या .bashrc फ़ाइल में जोड़ें।

संपादित करें: इसके अलावा, अपने टर्मिनल में, सुनिश्चित करें कि चेकबॉक्स "डिस्प्ले एएनएसआई रंग" ("पाठ" पृष्ठ पर) चेक किया गया है।


.bashrc भी काम करता है? मेरे मैक पर यह .bash_profile है, मुझे पता है कि यह .bashrc लिनक्स पर है, लेकिन मुझे लगा कि यह मैक पर पूरी बीएसडी चीज़ के साथ अलग था (एलएसकोलर्स लिनक्स और बीएसडी / मैक पर अलग है, ऐसा लगता है)।
जॉर्ज इज़राइल पेना

.bashrc मेरे लिए काम करता है ... और हां, यह अलग है। gls LS_COLORS का उपयोग करता है (जो पेज से जुड़े पेज का उपयोग करके भी उत्पन्न किया जा सकता है)
Fredrik

धन्यवाद। लेकिन प्रॉम्प्ट या एलएस आउटपुट में 'गेहूं', 'पर्पल' जैसे रंगों को कैसे कॉन्फ़िगर किया जा सकता है? या 'git diff' आउटपुट में 'गुलाबी'। धन्यवाद।
यिंगलक्स

संभावित रंग वे हैं जिन्हें आप मेरे द्वारा लिंक की गई साइट पर पा सकते हैं, यह मानक का हिस्सा है और जब उन्होंने इसे परिभाषित किया तो आप खुश थे यदि आपके पास 16 रंगों को दिखाने में सक्षम टर्मिनल था।
फ्रेड्रिक

13

यह मैं अपनी .profile फ़ाइल में उपयोग करता हूं। एक आकर्षण की तरह काम करता है क्योंकि यह मुझे वर्तमान गिट शाखा के साथ-साथ रंग के माध्यम से इसकी स्थिति को देखने की अनुमति देता है। यदि आप इसे संशोधित करना चाहते हैं, तो कृपया ध्यान दें कि लंबी पंक्तियों में लाइन फीड की समस्याओं से बचने के लिए रंग कोड से बचना महत्वपूर्ण है ।

# Setting GIT prompt
c_cyan=`tput setaf 6`
c_red=`tput setaf 1`
c_green=`tput setaf 2`
c_sgr0=`tput sgr0`

branch_color ()
{
    if git rev-parse --git-dir >/dev/null 2>&1
    then
        color=""
        if git diff --quiet 2>/dev/null >&2 
        then
            color=${c_green}
        else
            color=${c_red}
        fi
    else
        return 0
    fi
    echo -n $color
}

parse_git_branch ()
{
    if git rev-parse --git-dir >/dev/null 2>&1
    then
        gitver="["$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')"]"
    else
        return 0
    fi
echo -e $gitver
}

#It's important to escape colors with \[ to indicate the length is 0
PS1='\u@\[${c_red}\]\W\[${c_sgr0}\]\[\[$(branch_color)\]$(parse_git_branch)\[${c_sgr0}\]$ '

आपने कौन सी .profile फ़ाइल का उल्लेख किया है?
दर्शन पुराणिक

@ दर्शनशुरानी, ​​मेरा मतलब .profile$ bash में फ़ाइल को कहने का था
मार्क एम

2

टर्मिनल ऐप खोलें, फिर मेनू (टर्मिनल -> प्राथमिकताएं) के माध्यम से या Command+ दबाकर वरीयता संवाद खोलें ,। प्राथमिकताएं संवाद खुलने के बाद, बाईं ओर के फलक से टर्मिनल शैली का चयन करें, बटन बार से पाठ का चयन करें, यह सुनिश्चित करने के लिए कि "डिस्प्ले एएनएसआई रंग" चेक बॉक्स चेक किया गया है।

यह टर्मिनल पर रंगों को सक्षम करेगा। टर्मिनल पर आउटपुट में रंग प्राप्त करने के लिए, आपको टर्मिनल पर भेजे जा रहे डेटा में ANSI रंग कमांड को एम्बेड करना होगा। यह कैसे किया जाता है यह कमांड्स पर निर्भर करता है। उदाहरण के लिए (जैसा कि ऊपर दिखाया गया था) lsकमांड में एक रंग विकल्प है। रंग कोड के लिए, "एएनएसआई रंग" के लिए एक Google लुकअप करें।


ध्यान दें कि प्रश्न पहले से ही विषय के रूप में बंद है। :)
रयान कोन

0

रंगीन एलएस आउटपुट के लिए मैं ग्नू कोरुटिल्स को स्थापित करने और एलएस के उस संस्करण का उपयोग करने की सलाह दूंगा। Ls के किसी भी संस्करण के लिए आपको इसके लिए सही ध्वज को पारित करने की आवश्यकता होगी, जो कि मानक ओएस एक्स संस्करण के लिए ग्नू संस्करण या -G के लिए --color है। तो आप कुछ ऐसा कर सकते हैं

alias ls='ls --color'

अपने .bashrc में।

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

PROMPT="$(print '%{\e[0;38m%}%{\e[1;1m%]%}[%m:%c] %n%%%{\e[0m%}') "

उत्पादन करना

[hostname:directory] username%

बोल्ड व्हाइट में।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.