2012-03-27 4 views
6

हाल ही में मैं आदेशटैब पूर्ण होने पर 'git ls-files' क्यों नहीं दिखाया गया है?

git ls-files 

पाया और मैं इसे बहुत उपयोगी (-h विकल्प के साथ यह देखें) पाते हैं। अगर मैं git टाइप करता हूं और फिर Tab दबाता हूं तो ऐसा क्यों नहीं होता है?

मेरा मतलब है - git के "अन्य" आदेशों की सूची कहां है?

उत्तर

2

git ls-files एक प्लंबिंग कमांड है और इनमें से कई आदेश "छिपा" और सही तरीके से हैं। समय के साथ, कई को बैश पूरा करने में जोड़ा गया है, लेकिन कई अभी भी "छिपा"

+0

ठीक है। लेकिन क्या आप कृपया मुझे "छुपा" गिट कमांड की कुछ सूची के लिए एक लिंक दे सकते हैं? मैं उन्हें देखना चाहता हूं। – Adobe

+2

@Adobe आप 'git help -a' चलाकर एक सूची देख सकते हैं। आप अपनी '~/.bash_completion' फ़ाइल में निम्नलिखित जोड़कर सब कुछ दिखाने के लिए टैब-पूर्णता को ओवरराइड भी कर सकते हैं:' _completion_loader git; __git_compute_porcelain_commands() {__git_compute_all_commands; __git_porcelain_commands = $ __ git_all_commands; } ' – dlitz

+0

यह उत्तर पूछा गया प्रश्न का उत्तर नहीं देता - '' git' 'के" अन्य "आदेश कहां हैं? तो इसे सही उत्तर के रूप में क्यों टैग किया जाता है? – fnl

0

डिफ़ॉल्ट स्थापना में, टैब पूर्णता केवल /bin, /usr/bin, आदि में दिखाई देने वाले आदेशों के नाम सूचीबद्ध करती है। कोई फ़ाइल /usr/bin/git ls-files नहीं है।

ls-files एक उप कमांड है जिसे आपको अपना खोल सिखाना होगा। मान लें कि आप बैश का उपयोग कर रहे हैं, आप help complete चला सकते हैं यह देखने के लिए कि आप अपने .bashrc में क्या आदेश डाल सकते हैं।

अपनी वितरण बैश-पूर्ण पैकेज की आपूर्ति, तो आप बहुत समय बचाने के लिए इसे स्थापित कर सकते हैं:

apt-get install bash-completion # on Debian/Ubuntu/etc. 
yum install bash-completion  # on Fedora/Red Hat/etc. 

लेकिन जैसे manojlds बताते हैं, यह कम आमतौर पर इस्तेमाल किया Git आदेश के लिए काम नहीं करेगा जैसे ls-files क्योंकि बैश-पूर्णता उनसे छुपाती है। इसे बदलने के लिए आपको /etc/bash_completion.d/git संपादित करना होगा।

+0

मुझे यकीन है कि ओपी के पास बैश-पूर्णता स्थापित है और यह अभी भी अच्छा नहीं है। –

4

अपने ~/.git-completion.sh और __git_list_porcelain_commands() फ़ंक्शन देखें। आदेश जो गिट का समर्थन करता है लेकिन टैब-पूर्ण नहीं होगा वहां सूचीबद्ध हैं। इनमें से अधिकतर आदेश तथाकथित "नलसाजी" आदेश हैं, जिनमें ls-files शामिल हैं। आप संबंधित लाइन पर टिप्पणी करके उन्हें आसानी से टैब-पूर्ण कर सकते हैं। इस तरह:

#ls-files)   : plumbing;; 
#ls-remote)  : plumbing;; 
#ls-tree)   : plumbing;; 
संबंधित मुद्दे