यदि आप अभी हाल की सबसे कमिटमेंट ढूंढना चाहते हैं, तो आप नहीं चाहते हैं git-log
, आप चाहते हैं git-rev-list
, जो उन कमिट पथों को सूचीबद्ध करता है, जो उस कमिट पथ में, सबसे हाल के एक (कालानुक्रमिक) से शुरू होते हैं। सीधे शब्दों में कहें:
git rev-list -1 <commit> <filename>
के लिए git-rev-list
अपने मामले में, आप की आपूर्ति सिर्फ:
- प्रतिबद्ध की संख्या शामिल करने के लिए, या -1 केवल सबसे हाल के लिए,
- शाखा (या आईडी) से वापस देखना शुरू करने के लिए, HEAD यदि आप पहले से ही उस पर हैं, या - यदि आप सभी ज्ञात आवागमन चाहते हैं, और
- आपकी फ़ाइल के सापेक्ष पथ।
यह वर्तमान शाखा में सबसे हालिया कमिट आईडी को उस फ़ाइल को बदलने के लिए लौटाता है, उदा: 215095e2e338525be0baeeebdf66bfbb304e7270
अधिक जटिल उदाहरण के लिए, आप टैग नामों और यहां तक कि दूरस्थ संदर्भों का उपयोग कर सकते हैं, और वाइल्डकार्ड्स के साथ संबंधित पथ नाम शामिल कर सकते हैं, उदाहरण के लिए:
git rev-list origin/user/bob/testbranch -1 src/bfiles/*.txt
... जो आपको बताएगा कि उस शाखा के इतिहास में वाइल्डकार्ड मैच के लिए सबसे हालिया परिवर्तन क्या था। रि-लिस्ट के विकल्प चरम हैं, यह सबसे महत्वपूर्ण प्लंबिंग कमांड में से एक है, इसलिए आप केवल उन मानदंडों के बारे में शामिल कर सकते हैं या बाहर कर सकते हैं जिनकी आप कल्पना कर सकते हैं।
बेशक, git-Rev-list (1) मैनुअल पेज देखें ।
--all
विकल्प जोड़कर सभी शाखाओं पर विचार कर सकते हैं ।