टैग के बीच लॉग इन करें


84

मैं दो टैग किए गए कमिट के बीच लॉग को आउटपुट करने की कोशिश कर रहा हूं।

mbell@cheetah [12:07:22] [/var/www/html/brone] [dev]
-> % git tag 
6.x-0.1
6.x-1.0-beta1
6.x-1.0-beta2
6.x-1.0-beta3
6.x-1.0-beta4
6.x-1.0-beta5
6.x-1.0-beta6
6.x-1.0-beta7
6.x-1.0-beta8
6.x-1.0-beta9

अगर मैं करता हूँ:

git log 6.x-1.0-beta8 6.x-1.0-beta9 > ~/gitlogbrone.txt

यह रेपो की शुरुआत के बाद से सभी कमिटमेंट्स को आउटपुट करता है जो कि मैं नहीं चाहता। मैंने गिट लॉग मैनुअल के माध्यम से पढ़ा है, लेकिन यह बहुत मदद नहीं कर रहा है।

जवाबों:


149

किसी श्रेणी को इंगित करने के लिए आपको एक दीर्घवृत्त की आवश्यकता होती है। कोशिश करो git log tag1..tag2


25
...आपको सिमिट्रिक फ़र्क देगा (केवल यह दिखाना कि दोनों ही टैग्स से नहीं मिल रहा है), मुझे लगता है कि आप चाहते हैं..
knittl

14
नोट: टैग आरोही क्रम में होना चाहिए। newtag..oldtagकाम नहीं करता है
बाल्की

4
पुन: "टैग आरोही क्रम में होना चाहिए। newtag..oldtag काम नहीं करता है": मुझे लगता है कि git सिर्फ टैग को अपने संबंधित कमैंट्स में अनुवाद करता है, फिर उन कमिट्स पर अनुरोधित ऑपरेशन करता है। टैग के क्रम को बदलने से बस पहले और बाद में भिन्न होता है, लेकिन फिर भी काम करना चाहिए।
गीनो

अगर टैग पहले वाला हो तो क्या होगा?
थॉमस डेकाक्स

2

मैं अंतिम 2 टैग्स के बीच कमिट्स प्राप्त करने के लिए इसका उपयोग करता हूं:

git log --pretty=format:%s `git tag --sort=-committerdate | head -1`...`git tag --sort=-committerdate | head -2 | awk '{split($0, tags, "\n")} END {print tags[1]}'` > change_log.txt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.