2012-08-26 32 views
7

मैं टर्मिनल पर आउटपुट कर रहा हूं, लेकिन आउटपुट रंग के प्रयोजनों के लिए गिट सही ढंग से पता नहीं लगा रहा है कि मैं टर्मिनल पर आउटपुट कर रहा हूं। मेरा सवाल यह है कि, गिट-कॉन्फिग (1) वास्तव में क्या कहता है जब "यह कहता है कि जब रंग टर्मिनल पर होता है तो रंग केवल तभी उपयोग किया जाता है" (यह वाक्यांश एकाधिक कॉन्फ़िगरेशन विवरणों के अंत में दिखाई देता है, जैसे color.ui और रंग ।डाली)? दूसरे शब्दों में, गिट यह तय करता है कि यह टर्मिनल पर आउटपुट कर रहा है या नहीं, और गिट को सूचित करने के लिए मैं अपनी पर्यावरण सेटिंग्स कैसे बदलूं कि मेरा टर्मिनल वास्तव में टर्मिनल है?गिट-कॉन्फ़िगर (1) का अर्थ यह कहता है कि "रंग केवल तभी उपयोग किया जाता है जब आउटपुट टर्मिनल पर होता है"?

विशिष्टता:
मैं विंडोज पर सिग्विन के साथ आरएक्सवीटी टर्मिनल का उपयोग कर रहा हूं। मेरे पास MSysGit भी स्थापित है। जब मैं गिट कॉन्फ़िगरेशन सेटिंग्स करता हूं:

[color] 
    ui = auto 
    branch = auto 
    status = auto 

मेरे टर्मिनल आउटपुट में अभी भी कोई रंग नहीं है। हालांकि, जब मैं

[color] 
    ui = always 
    branch = always 
    status = always 

पर स्विच करता है तो सही रंगीन आउटपुट होता है। हालांकि, वास्तविक गैर टर्मिनल मामलों को सही तरीके से संभालने के लिए, मुझे "ऑटो" पर वापस "हमेशा" पर स्विच करने की आवश्यकता नहीं है। तो "ऑटो" सही तरीके से काम करने के उद्देश्य से: गिट को यह पहचानने के लिए मैं अपना पर्यावरण कैसे बदलूं कि मेरा आरएक्सवीटी + सिग्विन रंग का समर्थन करने में सक्षम टर्मिनल है?

(पी एस। मैं इस अपेक्षाकृत छोटे रंग मुद्दे से काफी बड़ा समस्याओं के कारण Git की Cygwin संस्करण का उपयोग नहीं कर सकते हैं। कृपया Cygwin संस्करण में परिवर्तित करने के लिए मुझे बता उत्तर न दें।)

धन्यवाद के लिए आपकी सहायता!

+0

आपका 'TERM' पर्यावरण चर सेट क्या है? ('Echo $ TERM' के साथ जांचें।) – ezod

+0

@ezod: मैंने TERM को कुछ अलग-अलग मानों में बदलने का प्रयास किया है, और इसका कोई प्रभाव नहीं पड़ा। वर्तमान मूल्य (यानि आखिरी मूल्य मैंने कोशिश की) "xterm-256color" है। – walrus

उत्तर

2

this question पर ध्यान देने योग्य हो सकता है जो एक टर्मिनल (यानी टीटी सत्र) पर जाने वाले आउटपुट के बीच अंतर का पता लगाने के लिए कवर करता है, इसे किसी अन्य प्रक्रिया पर रीडायरेक्ट किया जा रहा है। मुझे लगता है कि "टर्मिनल पर जाने" के अपने वाक्यांश में यह गिट का अर्थ है, कि वास्तव में आउटपुट एक टीटी सत्र में जा रहा है।

+0

मैंने बस अपने टर्मिनल में उन परीक्षणों को चलाया, और यकीन है कि यह टर्मिनल के रूप में सही ढंग से पता चला था। तो गिट (ठीक है, MSysGit) अभी भी एकमात्र चीज है जिसे मैं जानता हूं, ऐसा नहीं लगता कि मेरा टर्मिनल टर्मिनल है। आह। – walrus