पिछले टैग के बाद से सभी हिट प्राप्त करें


126

जब मैं एक कमेटी को टैग करने जा रहा हूं, तो मुझे यह जानने की जरूरत है कि आखिरी टैग कमिट के बाद क्या बदल गया है। उदाहरण के लिए:

a87a6sdf87a6d4 Some new feature
a87a6sdf87a6d3 Some bug fix
a87a6sdf87a6d2 Some comments added
a87a6sdf87a6d1 Some merge <- v1.4.0

इस उदाहरण में मैं 3 नवीनतम कमिट्स के बारे में जानना चाहूंगा, या ऊपर की तरह एक लॉग को प्रिंट करने में सक्षम हो सकता हूं, जिससे पता चलता है कि दोनों अपने टैग्स को यदि कोई हो। और जब मैं देखता हूं कि कोई नई सुविधा जोड़ी गई है, तो मैं इसे v1.5.0 टैग करूंगा।

आप इस के साथ कैसे पेश आएंगे? क्या यह है कि मुझे टैग का उपयोग कैसे करना चाहिए? मुझे टैग संदेश में क्या लिखना चाहिए? मैं हमेशा इसे खाली छोड़ता हूं:git tag -a v1.2.3 -m ''

जवाबों:


224

git log <yourlasttag>..HEAD ?

यदि आप उन्हें अपने उदाहरण में पसंद करते हैं, तो प्रतिबद्ध आईडी + संदेश के साथ एक पंक्ति पर, फिर

git log <yourlasttag>..HEAD --oneline

और यदि आप अपने नवीनतम टैग को नहीं जानते या चाहते हैं कि यह गतिशील हो, तो खिड़कियों पर आप कर सकते हैं

for /f "delims=" %a in ('git describe --tags --abbrev^=0') do @set latesttag=%a
git log %latesttag%..HEAD --oneline

और linux / git bash / windows bash पर

git log $(git describe --tags --abbrev=0)..HEAD --oneline

इसके अलावा, यदि आपके पास कोई ऐसा मामला है जहां आप इतिहास में एक टैग जानते हैं और उस टैग से वर्तमान स्थिति तक सब कुछ प्रिंट करना चाहते हैं, तो आप --decorateयह भी जोड़ना चाह सकते हैं कि यह बीच में किसी भी टैग को प्रिंट करेगा।


क्या मर्ज कमिट्स को स्किप करने का कोई तरीका है?
होलोते

@ ट्रेन्गोट को नहीं पता, उस पर ध्यान नहीं दिया गया। IMO मर्ज कमिट वैसे भी बचने के लिए कुछ है, मैं जब भी संभव हो रिबासिंग का उपयोग करता हूं।
eis

लिनक्स संस्करण विंडोज बैश के लिए Git पर भी काम करता है
kwesolowski

क्या यह <yourlasttag>+ 1 नहीं होना चाहिए ?
रफी खाचदौरीयन

@RaffiKhatchadourian अगर आप ऐसा करेंगे, तो आप कमिट <yourlasttag>+ 1 में किए गए बदलावों को याद करेंगे और आपको उसके बाद ही बदलाव मिलेंगे
eis

39

यदि आपकी वर्तमान प्रतिबद्धता भी एक टैग है और आप नवीनतम टैग और पिछले टैग नाम को जाने बिना, पिछले टैग के बाद से गतिशील रूप से परिवर्तन प्राप्त करना चाहते हैं, तो आप कर सकते हैं:

git log --oneline $(git describe --tags --abbrev=0 @^)..@

ध्यान दें कि के @लिए कम है HEAD


अच्छा !, यदि केवल पाठ परिवर्तन करना चाहते हैं --online to --pretty = format: "% s": git log --pretty = format: "% s" $ (git वर्णन --tags --abbrev = 0 @) ^) .. @
JBbbosa
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.