लास्ट कमेंट कैसे पढ़ें?


400

अक्सर एक कमिट ( $ git -commit -m "") के दौरान , मैंने यह याद रखने के लिए अपनी पिछली टिप्पणी पढ़ने की इच्छा की कि मैंने क्या प्रगति की है। क्या कमांड-लाइन के माध्यम से अंतिम प्रतिबद्ध संदेश को सीधे एक्सेस करने का एक आसान तरीका है? (मैं विंडोज का उपयोग कर रहा हूं।)


6
यदि यह एक नियमित क्रिया है, तो अपने चुने हुए समाधान / कमांड लाइन के लिए एक alias(जैसे wherewasi;-)) बनाएं । आप शाखा की जानकारी भी शामिल कर सकते हैं।
फिलिप ओकले

जवाबों:


755
git show

टाइप करने के लिए सबसे तेज़ है, लेकिन साथ ही साथ आपको अंतर दिखाता है।

git log -1

तेज और सरल है।

git log -1 --pretty=%B

यदि आपको केवल प्रतिबद्ध संदेश की आवश्यकता है और कुछ नहीं।


2
% B प्रारूप वह था जो मुझे प्रतिबद्ध संदेश को इंडेंट न करने के लिए आवश्यक था। और हां, @ जू__, भले ही आपके लिए git gui linewrap नहीं है, यह एक अच्छा विचार है कि प्रतिबद्ध संदेशों में 80column टेक्स्ट का उपयोग करें, न कि लाइन-प्रति-पैराग्राफ का।
पीटर कॉर्डेस

4
@ जूह_ आप पूरे संदेश का उपयोग करके दिखा सकते हैं git log -1 --pretty=%B | cat, लेकिन जैसा कि पीटर ने कहा, आपको इसे 80 पात्रों तक रखने की कोशिश करनी चाहिए।
रकस टी-बूम

3
@ जू_ यह थोड़ा बहुत देर हो चुकी है लेकिन अगर आप लाइन-रैप करने के लिए कमिट मैसेज चाहते हैं, तो आउटपुट को पाइप पर ही कर दें cat :git log -1 --pretty= | cat
kosgeinsky

8
कोई व्यक्ति प्रतिशत-प्लेसहोल्डर्स के बारे में अधिक जानकारी की तलाश में है, देखें: kernel.org/pub/software/scm/git/docs/… (नीचे स्क्रॉल करें format:<string>)।
imme

3
यदि आप मैन डॉक्स में दिए गए सुझाव के अनुसार format:उपसर्ग जोड़ते हैं %B, तो यह आउटपुट के अंत में अतिरिक्त रिक्त लाइनें नहीं दिखाता है:git log -1 --pretty=format:%B
Mariano Ruiz

84

आम तौर पर:

git log -n

आपको अंतिम nप्रतिबद्ध संदेश दिखाएगा

अधिक सुरुचिपूर्ण ढंग से - यदि आप अपने कमिट्स का त्वरित अवलोकन चाहते हैं

git log --oneline -n

यह अंतिम nप्रतिबद्ध संदेशों की सिर्फ पहली पंक्ति दिखाएगा।

आप इसे कम उपनाम के साथ git उपनाम या शेल उपनाम के रूप में सहेज सकते हैं। मैंने इसे अपने शेल में प्राप्त किया है glog, उदाहरण के लिए, और मैं अपने पिछले 10 प्रतिबद्ध संदेशों को देख सकता हूं glog -10


23

git log -1नवीनतम प्रतिबद्ध संदेश प्रदर्शित करेगा या git log -1 --onelineयदि आप केवल sha1 और संबंधित प्रतिबद्ध संदेश प्रदर्शित करना चाहते हैं।


मर्क्यूरियल में उसी के बारे में क्या?
नेविन राज विक्टर

14

आप उपयोग कर सकते हैं

git show -s --format=%s

यहां --formatविभिन्न मुद्रण विकल्प सक्षम हैं, यहां दस्तावेज़ीकरण देखें । विशेष रूप से, %s'विषय' का अर्थ है। इसके अलावा, -sके लिए खड़ा है--no-patch , जो सामग्री को दबाता है।

मैं अक्सर उपयोग करता हूं

git show -s --format='%h %s'

कहाँ पे %h कमिट का छोटा हैश दर्शाता है

दूसरा तरीका है

git show-branch --no-name HEAD

यह दूसरे तरीके की तुलना में तेजी से चलता है।

मैंने वास्तव में अपने सभी रेपो की स्थिति को देखने के लिए एक छोटा सा उपकरण लिखा था। आप इसे जीथब पर पा सकते हैं ।


IMO यह कई कमिट के लिए स्वीकृत उत्तर से बेहतर है। यह मेरे लिए अनावश्यक लाइनब्रेक का उत्पादन नहीं करता है। मल्टीपल कॉम्पटिट्स (यानी पिछले 5) -5 को शामिल करके दिखाए जा सकते हैं, अर्थातgit show -s --format=%s -5
सिगमतिक्स

10

git log -1 branch_name आपको निर्दिष्ट शाखा से अंतिम संदेश दिखाएगा (यानी जरूरी नहीं कि वर्तमान में आप जिस शाखा पर हैं)।


7

कुछ अधिक पठनीय कुछ के लिए, इस कमांड को एक बार चलाएं:

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

ताकि जब आप दौड़ें:

git lg

आपको एक अच्छा रीडआउट मिलता है। केवल अंतिम पंक्ति दिखाने के लिए:

git lg -1

समाधान यहाँ पाया गया


4

साथ शुरू करने के लिए git log -1 --pretty='%s'

लेकिन नीचे वाला सभी मामलों को कवर करता है,

git log --pretty='format:%Creset%s' --no-merges -1

  • कोई अवांछित सफेद स्थान नहीं
  • डिस्कस मर्ज कमिट करता है
  • कोई प्रतिबद्ध आईडी, दिनांक, केवल संदेश प्रदर्शित नहीं करता है।

अपने लिए चिपकाएँ और देखें



0

मुझे पिछली कमांड को पुनः प्राप्त करके शेल के साथ वर्कअराउंड का पता चला।

प्रेस Ctrl-R रिवर्स खोज आदेश को लाने के लिए:

reverse-i-search

फिर git कमिट टाइप करना शुरू करें , यह इसे सर्च कमांड के रूप में जोड़ेगा, और यह पिछले git कमिट को अपने संदेश के साथ लाता है:

reverse-i-search`git commit -m`: git commit -m "message"

दर्ज। बस!

(उबंटू खोल में परीक्षण किया गया)

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