Git में, मुझे कैसे पता चलेगा कि मेरा वर्तमान संशोधन क्या है?


167

मैं सिर्फ यह जानना चाहता हूं कि मेरा वर्तमान संस्करण संख्या क्या है।


मुझे यह सवाल तब मिला जब मैं वर्तमान संशोधन को प्राप्त करने के लिए एक रास्ता ढूंढ रहा था ताकि इसे आगे के आदेशों में उपयोग किया जा सके। लेकिन जब मैंने जवाब पढ़ा, तो मुझे पता चला: "ओह रुको, मुझे इसकी आवश्यकता नहीं है, मैं बस HEADवास्तव में उपयोग कर सकता हूं ।"
एंटोनी पिंसर्ड 14

जवाबों:


228

"संस्करण संख्या" से आपका क्या तात्पर्य है? संस्करण संख्या के साथ कमिट करना और फिर उपयोग करना काफी आम है

$ git describe --tags

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

$ git rev-parse HEAD

या लघु संशोधन के लिए हैश:

$ git rev-parse --short HEAD

यह अक्सर करने के लिए पर्याप्त है:

$ cat .git/refs/heads/${branch-master}

लेकिन यह विश्वसनीय नहीं है क्योंकि रेफरी को पैक किया जा सकता है।


8
रेफरी में पैक किया जा सकता है .git/packed-refs, इसलिए आपको शायद सीधे पहुंचने से बचना चाहिए .git/refs/। बस उपयोग करें git rev-parse master(या git rev-parse refs/heads/masterयदि आपको पूरी तरह से स्पष्ट होने की आवश्यकता है)।
क्रिस जॉन्सन

108

git log -1मुझे लगता है कि कई तरीके सबसे आसान और सबसे आम हैं


1
मैं एक फ़ाइल को पिछले संस्करण कैसे बनाऊँ?
TIMEX

1
हो सकता है कि आप git checkout HEAD ^ - फ़ाइल नाम
manojisions

2
btw, यह केवल वर्तमान संशोधन की तुलना में बहुत अधिक देता है और आपको इसे परिणामी रूप से पार्स करना होगा (इसलिए, सबसे अच्छा / सबसे आसान / सामान्य समाधान नहीं है, imho)
RAM237

36

यह आपको सिर्फ रिवीजन देता है।

git rev-parse HEAD

मुझे लगता है कि यह सबसे अच्छा जवाब है, क्योंकि यह कार्यान्वयन-निर्भर नहीं है। विलियम का जवाब "कैट .गित / रेफ्स / हेड्स / मास्टर" एक ही मूल्य प्रदान करेगा, लेकिन इस बात की कोई गारंटी नहीं है कि यह भविष्य में लागू होने पर काम करेगा।
थगोमाइज़र

सहमत, यह सबसे अच्छा जवाब है। --shortविकल्प का एक संक्षिप्त उल्लेख इसे पूर्ण बनाएगा।
बॉबी जैक

15

यह आपको हैश के पहले कुछ अंक प्रदान करता है और वे संस्करण संख्या के रूप में उपयोग करने के लिए पर्याप्त अद्वितीय हैं।

git Rev-parse --short HEAD


0

नीचे केवल पूर्ववर्ती संशोधन के साथ काम किया जाएगा, न कि केवल हेड

संक्षिप्त संशोधन के लिए हैश:

git log -1 --pretty=format:%h

लंबे संशोधन के लिए हैश:

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