मुझे 'गिट लॉग' के अंत में 'क्यू' क्यों मारना है?


79

विचार करें:

git log -n 20 --pretty=oneline

मैं गिट को बता रहा हूं कि मुझे केवल पिछले 20 कमिट्स देखने की जरूरत है। मैं Qअंत से छुटकारा पाने के लिए हिट करने से नफरत करता हूं । वहाँ एक रास्ता है ताकि मैं हिट करने के लिए नहीं है Q?

जवाबों:


83

गिट स्वचालित रूप से आपके लिए आउटपुट पेजिंग कर रहा है, क्योंकि लॉग आसानी से सिंगल टर्मिनल विंडो साइज को ओवरफ्लो करते हैं (आप दुर्लभ अपवादों में से एक हैं - एक ऑनलाइन फॉर्मेट और एक छोटी सी कमिट सीमा)। यदि आप यह नहीं चाहते हैं, तो उपयोग करें:

git --no-pager log -n 20 --pretty=oneline

ध्यान दें कि इसका मतलब है कि आपको कुछ बदसूरत रैपिंग मिलेगी, क्योंकि पेजर पहले आपके लिए रैपिंग बंद कर रहा था (क्योंकि आप कर्सर कुंजियों का उपयोग बाएं-दाएं स्क्रॉल करने के लिए कर सकते हैं)।


4
@DeckTrout बिना किसी जानकारी के, कोई आपकी मदद नहीं कर सकता। यदि आप अपने सेटअप के बारे में विशिष्ट होने का प्रबंधन कर सकते हैं, तो आप एक नया प्रश्न पूछ सकते हैं। इस उत्तर ने यहां ओपी के लिए काम किया (और बहुत सारे लोगों के लिए) तो स्पष्ट रूप से आपके लिए कुछ अलग है।
Cascabel

1
जोड़े l = !git --no-pager log -n 20 --pretty=onelineमें .gitconfigएक उपनाम बनाने के लिए ..
saveshodhan

विंडोज के लिए Git पर, यह ऑरेंज से येलो के लिए "कमिट इंसर्ट-हैश-हियर" को उजागर करता है।
अनजाना0059

26

आप इसे कम करने के बजाय बिल्ली का उपयोग करने के लिए कहकर "गेटिंग" को "बंद" कर सकते हैं। इसके बाद, पेजिंग, या सिर जब आप शीर्ष देखना चाहते हैं, तब आउटपुट को कम से पाइप के माध्यम से पाइप करें।

git config --global core.pager cat

मैं स्वचालित पेजिंग बंद कर देता हूं क्योंकि मैं अक्सर ईमेक के भीतर से गिट चलाता हूं, जिसकी न तो जरूरत होती है और न ही कम के साथ अच्छा खेलता है।


मेरा गिट लॉग एक नई रेखा के साथ समाप्त नहीं होता है, इसलिए लॉग के बाद शेल प्रॉम्प्ट उसी लाइन पर है जो मेरी सबसे पुरानी प्रतिबद्ध है। फिर भी अच्छा टिप, धन्यवाद।
केनी रस्साचर

13

less-Fयदि सामग्री एक स्क्रीन पर फिट होती है तो स्वचालित रूप से छोड़ने का तर्क स्वीकार करता है


8

git log -n 20 --pretty=oneline | cat

एक छोटा सा --no-pagerविकल्प है कि विकल्प भी मौजूद रंगों को हटा देगा।


8

यदि आप --no-pagerएक उपनाम में उपयोग करना चाहते हैं , तो अपना उपनाम इस तरह सेट करें:

hist = !git --no-pager log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short

0

Q का उपयोग कमांड लाइन प्रोग्राम को बंद करने के लिए किया जाता है लॉग्स देखने के लिए उपयोग की जाने वाली किया जाता है ...

आप एक अन्य लॉग व्यूअर का उपयोग कर सकते हैं, जैसे gitk:

gitk -n 20

ग्राफ आदि को देखने के लिए gitk उपयोगी है। मैं एक हल्के समाधान की तलाश में था। धन्यवाद।
निक वेंडरबिल्ट

0

एक लॉग कमांड के लिए उपनाम जहां आपको qइसे दूर जाने के लिए क्लिक करने की आवश्यकता नहीं है:

git config --global alias.hist '!git --no-pager log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --max-count=10'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.