कमिट निर्दिष्ट करने के लिए सभी प्रकार के अद्भुत तरीके हैं - अधिक विवरण के लिए निर्दिष्ट संशोधन अनुभाग man git-rev-parseदेखें। इस मामले में, आप शायद चाहते हैं:
git diff HEAD@{1}
इसका @{1}मतलब है "रेफ की पिछली स्थिति जो मैंने निर्दिष्ट की है", ताकि आप जो पहले चेक आउट कर चुके हैं, उसका मूल्यांकन - पुल से ठीक पहले हो। आप हमले कर सकते हैं HEADवहाँ अंत पर अगर आप भी अपने काम के पेड़ में कुछ बदलाव किया है और आप उनके लिए डिफ को देखने के लिए नहीं करना चाहती।
मुझे यकीन नहीं है कि आप "फ़ाइल के मेरे नवीनतम संस्करण की प्रतिबद्ध आईडी" के साथ क्या पूछ रहे हैं - प्रतिबद्ध "आईडी" (SHA1 हैश) आउटपुट में हर प्रविष्टि के शीर्ष पर 40-वर्ण हेक्स है। गिट लॉग की। यह संपूर्ण कमिट के लिए हैश है, किसी दिए गए फ़ाइल के लिए नहीं। आपको वास्तव में कभी भी अधिक की आवश्यकता नहीं है - यदि आप पुल में सिर्फ एक फ़ाइल को फैलाना चाहते हैं, तो करें
git diff HEAD@{1} filename
यह एक सामान्य बात है - यदि आप दिए गए कमिट में किसी फाइल की स्थिति के बारे में जानना चाहते हैं, तो आप कमिट और फाइल को निर्दिष्ट करते हैं, न कि फाइल के लिए एक आईडी / हैश।