क्या मुझे गलतफहमी है कि git grep --cached foo
काम करता है? रनिंग गिट संस्करण 1.6.4.4 या 1.6.5.2, git grep --cached foo
बिल्कुल git grep foo
जैसा ही काम करता है।git grep --cached
मैंने सोचा कि यह git diff --cached
की तरह काम करेगा, केवल स्टेजिंग क्षेत्र में परिवर्तनों को खोजेगा। यही कारण है कि निश्चित रूप से क्या man page मुझे विश्वास करना सीखें:
git diff [--options] --cached [<commit>] [--] [<path>…]
यह फार्म परिवर्तन आप अगले के लिए मंचन देखने के लिए नामित किया गया
<commit>
के सापेक्ष प्रतिबद्ध है। आम तौर पर आप नवीनतम प्रतिबद्धता के साथ तुलना करना चाहते हैं, इसलिए यदि आप<commit>
नहीं देते हैं, तो यहHEAD
पर डिफ़ॉल्ट हो जाता है। यदिHEAD
मौजूद नहीं है (उदा।, अनजान शाखाएं) और<commit>
नहीं दिया गया है, यह सभी चरणबद्ध परिवर्तन दिखाता है।--staged
--cached
का पर्याय है।
क्या यह सिर्फ एक बग है, या क्या फू का उल्लेख करने के बारे में परिवर्तन खोजने के लिए एक वैकल्पिक/बेहतर तरीका है?
git diff --cached | grep foo
आदेश ऊपर मुझे जो मैं चाहता के आधे देता है, लेकिन यह संदर्भ में जो की फाइल परिवर्तन में प्रकट होता है खो देता है।
अद्यतन
ऐसा प्रतीत होता है कि मैं के लिए एक अवधारणा त्रुटि है क्या --cached
देख रहा है। ऐसा लगता है कि यह पेड़ की स्थिति को खोज रहा है मानते हुए स्टेजिंग क्षेत्र लागू होता है। यह समझ में आता है, अब मैं इसके बारे में सोचता हूं। क्या मैं चाहता हूं में खोज करने के लिए अंतर है, पूर्ण पेड़ नहीं।
विशेष रूप से, मैं सभी फ़ाइलों की सूची को पता है कि मैं के बारे में में SpecialLog(...)
प्रतिबद्ध करने के लिए कर रहा हूँ (मैं लाइन नंबर या संदर्भ के बारे में परवाह नहीं है) चाहते हैं, तो मैं उन फ़ाइलों को संपादित जाने के लिए और SpecialLog
निकाल सकते हैं। तो हाँ, मैं सिर्फ git diff --cached
कर सकता हूं और SpecialLog
के लिए पेजर में खोज सकता हूं, लेकिन फिर एक फ़ाइल में बड़े बदलावों के लिए, बहुत सारे डुप्लिकेट हैं और यह स्पष्ट नहीं है कि मैं कौन सी फाइल देख रहा हूं।
धन्यवाद:
परिवर्तन है कि निम्न उदाहरण में एक विशेष स्ट्रिंग उल्लेख के साथ फ़ाइलों के लिए सूची खोजें। आपने मेरी अवधारणा त्रुटि को समझने में मेरी मदद की है (विवरण में अद्यतन देखें)। तो मैं वास्तव में क्या देख रहा हूं कुछ गिट diff और grep संयोजन है। पेजर काम करता है, लेकिन यह वह नहीं है जिसे मैं ढूंढ रहा हूं;) –
अद्यतन प्रतिक्रिया देखें। –
मीठा! वही है जो मैं चाहता था! –