यह आपको कुछ इस तरह देना चाहिए:
$ git log cee157
error: short SHA1 cee157 is ambiguous.
error: short SHA1 cee157 is ambiguous.
fatal: ambiguous argument 'cee157': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
मैंने इसे इस तरह से डुप्लिकेट उपसर्गों के साथ कमिट्स पाकर, एक वास्तविक गिट रिपॉजिटरी पर परीक्षण किया:
git rev-list master | cut -c-4 | sort | uniq -c | sort -nr | head
यह संशोधन की सूची लेता है master, पहले 4 वर्णों को काटता है और बाकी को दूर फेंकता है, डुप्लिकेट की गणना करता है और संख्यात्मक रूप से सॉर्ट करता है। मेरे 1500 के अपेक्षाकृत छोटे भंडार में, मुझे एक सामान्य 4-अंकीय उपसर्ग के साथ कुछ संशोधन मिले। मैंने 4 अंकों का उपसर्ग चुना क्योंकि यह सबसे कम कानूनी लंबाई है जो गिट द्वारा समर्थित है। (अस्पष्ट नहीं होने पर भी 3 अंकों या उससे कम के साथ काम नहीं करता है।)
Btw यह एक टाइपो नहीं था, मुझे नहीं पता कि अस्पष्ट SHA1 के बारे में त्रुटि संदेश दो बार क्यों दिखाई देता है, चाहे डुप्लिकेट SHA1 की संख्या की परवाह किए बिना (2 और 3 के साथ प्रयास किया गया):
error: short SHA1 cee157 is ambiguous.
error: short SHA1 cee157 is ambiguous.
(दोनों पर stderr। दरअसल पूरा आउटपुट चालू है stderr, कुछ भी नहीं है stdout।)
विंडोज में परीक्षण किया गया:
$ git --version
git version 1.8.1.msysgit.1
मुझे लगता है कि यह कहना सुरक्षित है कि यदि आपका संस्करण> = 1.8.1 है, तो गिट आपको डुप्लिकेट की चेतावनी देगा । (यह डुप्लिकेट के साथ काम करने से इनकार कर देगा।) मुझे लगता है कि बहुत पुराने संस्करणों ने इस तरह से भी काम किया।
अपडेट करें
यह परीक्षण करते समय, आपको पर्यावरण की वजह से न्यूनतम 4 अंकों वाले SHA1 की आवश्यकता int minimum_abbrev = 4होती है । (इस ओर इशारा करने के लिए @devnull धन्यवाद !)
man gitrevisions, जिसका अर्थ है कि कम से कम एक चेतावनी दी जाएगी क्योंकि यह बताता है कि आप इसके पूर्ण SHA1-1 नाम के साथ एक संशोधन का नाम दे सकते हैं या "एक प्रमुख विकल्प जो कि भंडार के भीतर अद्वितीय है"।