GAD कमांड को HEAD कमिट आईडी प्रदर्शित करना है?


251

मैं हेड की प्रतिबद्ध आईडी का प्रिंट आउट लेने के लिए किस कमांड का उपयोग कर सकता हूं?

यह मैं हाथ से कर रहा हूं:

$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1

लेकिन मुझे एक ऐसी स्क्रिप्ट की ज़रूरत है जो मज़बूती से कुछ कमांड के आउटपुट को एक टेक्स्ट फ़ाइल में पाइप कर सके जैसे कि टेक्स्ट फ़ाइल में HEAD की कमिट आईडी (कुछ भी नहीं या कम, और सिर्फ रेफरी नहीं) है। क्या कोई मदद कर सकता है?


मैं पहले भी इसी तरह का सवाल कर चुका हूं। और यह यहाँ अच्छी तरह से उत्तर दिया गया: stackoverflow.com/questions/44994626/…
smwikipedia

जवाबों:



45
git log -1

केवल कमिट आईडी के लिए

git log | head -n 1 

धन्यवाद, यह आसान है
eC Droid

15

पुराना धागा, अभी भी भविष्य के संदर्भ के लिए ... :) यहां तक ​​कि काम करता है

git show-ref --head

डिफ़ॉल्ट रूप से HEAD को फ़िल्टर किया जाता है। हालांकि निम्नलिखित के बारे में सावधान रहें; बहुवचन "सिर" अंत में एक 'एस' के साथ। निम्नलिखित कमांड "रेफ्स / हेड्स" के तहत शाखाएं दिखाती है

 git show-ref --heads

4
(बड़े) git रेपो में इन कमांड्स का उपयोग करने से मुझे दो लाइनें मिलती हैं git show-ref --headsऔर 6290 लाइनों से git show-ref --head। इसलिए यदि आप केवल एक हैश चाहते हैं, तो यह संभवतः इच्छित परिणाम नहीं देता है।
रेमीगियस स्टेलर

7

आप git logकेवल अंतिम प्रतिबद्ध दिखाने के लिए विकल्प निर्दिष्ट कर सकते हैं -1, और एक प्रारूप जिसमें केवल कमिट आईडी शामिल है, जैसे:

git log -1 --format=%H

यदि आप कमिटेड आईडी पसंद करते हैं:

git log -1 --format=%h



1

Https://git-scm.com/docs/git-log के अनुसार , कंसोल में अधिक सुंदर आउटपुट के लिए आप git-log कमांड के --decorate तर्क का उपयोग कर सकते हैं :

git log --pretty=oneline --decorate

प्रिंट होगा:

2a5ccd714972552064746e0fb9a7aed747e483c7 (HEAD -> master) New commit
fe00287269b07e2e44f25095748b86c5fc50a3ef (tag: v1.1-01) Commit 3
08ed8cceb27f4f5e5a168831d20a9d2fa5c91d8b (tag: v1.1, tag: v1.0-0.1) commit 1
116340f24354497af488fd63f4f5ad6286e176fc (tag: v1.0) second
52c1cdcb1988d638ec9e05a291e137912b56b3af test

0

git rev-parse --abbrev-ref HEAD


1
यह कमिट आईडी नहीं दिखाता है, बल्कि किसी भी नाम (जैसे शाखाएं या टैग) कमिट के साथ जुड़ा हुआ है। यह वह नहीं है जो मूल उपयोगकर्ता चाहता था।
असफंद काजी

0

आप इस कमांड का उपयोग कर सकते हैं

$ git rev-list HEAD

headलेटेस्ट n HEADकमिट जैसे दिखाने के लिए आप यूनिक्स कमांड का भी इस्तेमाल कर सकते हैं

$ git rev-list HEAD | head - 2


0

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

git log -g branchname

आउटपुट की git reflogतरह स्वरूपित जानकारी देखने के लिएgit log

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