'कमिट डेट' दिखाने के लिए 'गिट लॉग' को कैसे कॉन्फ़िगर करें


127

मैं इसके बजाय git logदिखाने के लिए कैसे कॉन्फ़िगर कर सकता हूं ?commit dateauthor date


25
@ कोलीन प्रत्येक कमिट में दो तारीखें जुड़ी होती हैं - ऑथरडेट और कमेटेट ( git show --pretty=fuller HEADउदाहरण के लिए)। स्थानीय विकास के लिए, ये आमतौर पर समान होते हैं, लेकिन ई-मेल या अन्य तंत्रों के माध्यम से जोड़े गए पैच के लिए, वे अलग-अलग हो सकते हैं, जहां AuthorDate वह तिथि है जब पैच उत्पन्न किया गया था, और जब यह वास्तव में रिपॉजिटरी में लागू किया गया था तो कमेटेट किया जा रहा था।
Twalberg

जवाबों:


145

दिनांक को प्रिंट करने के लिए कई विकल्प हैं । संभवतः सबसे आसान पूर्व-पके हुए --prettyप्रारूपों में से एक का उपयोग करना है, जैसे git log --pretty=fuller- यह दोनों तिथियों को दिखाएगा। यदि आप केवल एक तारीख देखना चाहते हैं, लेकिन इसे कमिट डेट बनाएं, तो आप उपयोग कर सकते हैं git log --format=<some stuff>। प्रारूप को परिभाषित करने के लिए सभी स्वीकार्य कोड में प्रलेखित हैं git help log। प्रतिबद्ध तारीख में से एक है %cd, %cD, %cr, %ctया %ci, क्या प्रारूप के आधार पर आप इसे में पसंद करते हैं।

यदि यह ऐसा कुछ है जो आप अक्सर करना चाहते हैं, तो इसे किसी अन्य में डालें या टाइपिंग पर सहेजने के लिए एक सहायक स्क्रिप्ट लिखें।


53

आप संबंधित दिनांक के लिए उपयोग --pretty=formatऔर उपयोग कर सकते हैं %cr

उदाहरण के लिए:

$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'

आप इसे उपयोग करने के लिए आसान बनाने के लिए गिट में एक उपनाम को परिभाषित कर सकते हैं। मेरे पास निम्नलिखित हैं .gitconfig:

[alias]
# see `git help log` for detailed help.
#   %h: abbreviated commit hash
#   %d: ref names, like the --decorate option of git-log(1)
#   %cn: commiter name
#   %ce: committer email
#   %cr: committer date, relative
#   %ci: committer date, ISO 8601-like format
#   %an: author name
#   %ae: author email
#   %ar: author date, relative
#   %ai: author date, ISO 8601-like format
#   %s: subject
# my awesome git log replacement
lol  = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration

लिनक्स या इसी तरह की प्रणालियों पर, आप 'दोहरे-उद्धरणों के बजाय एकल-उद्धरणों का उपयोग कर सकते हैं ":

[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'

इसके साथ, git lolसुंदर आउटपुट देखने के लिए , बस चलाएं , या अन्य वेरिएंट।

यहाँ का उत्पादन है git lol --simplify-by-decoration:

git lol आउटपुट

  • अच्छा लग रहा है। :)
  • lolसे टाइप करना आसान है log, और बेहतर भी लगता है।
    • git logयदि आपको कभी भी इसकी आवश्यकता होती है, तो आप इसे नियमित रूप से एक्सेस कर सकते हैं ।
  • आपकी आँखें विभिन्न रंगों द्वारा सामग्री को जल्दी से स्कैन कर सकती हैं।
  • कई योगदानकर्ताओं के साथ बड़ी परियोजनाओं / org के लिए नाम और ई-मेल बहुत उपयोगी हैं।
  • हैश / रेफ के लिए डिफ़ॉल्ट रंग का उपयोग करना क्योंकि यह पहले से ही बहुत अच्छा है।

यहाँ git loldआईएसओ प्रारूप में तारीखों के साथ आउटपुट है । एक सटीक तारीख / समय देखने के लिए उपयोगी है, जिसमें योगदानकर्ता के समयक्षेत्र को आसानी से देखने में सक्षम होने के बोनस के साथ।

यहाँ छवि विवरण दर्ज करें

संपादित करें 2020-06 : स्क्रीनशॉट जोड़े गए। (प्रतिबद्ध हैश) और (रेफरी नाम) के लिए %C(auto)(ऑटो / डिफ़ॉल्ट रंग) का उपयोग करने के लिए अद्यतन किया गया । जोड़ा (commiter नाम) ईमेल के अलावा।%h%d%cn


1
मुझे एक पार्सिंग त्रुटि मिलती है: git log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\" bash: अप्रत्याशित टोकन के पास सिंटैक्स त्रुटि `('
frakman1

2
@ frakman1 - आपको टर्मिनल में चलने के लिए उपरोक्त लाइन के लिए "s" से भागने की जरूरत है
20

2
सही लाइन: git log --graph --pretty = format: "% C (पीला)% h% क्रिसट% C (cyan)% C (बोल्ड)% d% क्रेसेट% C (cyan) (% cr)% Creset% C (हरा)% CE% क्रेसेट% s "
RedSands

1

मैं इस प्रारूप को पसंद करता हूं, इसमें लेखक का नाम शामिल नहीं है और इसमें प्रतिबद्ध के लिए वास्तविक तिथि शामिल है।

git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset  %C(green)%Creset %s" --date=short
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.