प्रतिबद्ध सामग्री की खोज करने के लिए (यानी, स्रोत की वास्तविक पंक्तियाँ, जैसा कि संदेश और इसी तरह का विरोध किया जाता है), आपको करने की आवश्यकता है:
git grep <regexp> $(git rev-list --all)
git rev-list --all | xargs git grep <expression>
यदि आप "तर्क सूची बहुत लंबी" त्रुटि में काम करते हैं।
यदि आप खोज को कुछ rev-list
उप- सीमा (उदाहरण के लिए, "लिब / उपयोग") तक सीमित करना चाहते हैं, तो आपको उसे उप-क्रम में और grep
साथ ही पास करना होगा:
git grep <regexp> $(git rev-list --all -- lib/util) -- lib/util
यह आपके सभी के लिए प्रतिबद्ध पाठ के माध्यम से grep होगा regexp
।
दोनों आदेशों में मार्ग पारित करने का कारण rev-list
यह है कि संशोधन सूची वापस आ जाएगी जहां सभी परिवर्तन हुए हैं lib/util
, लेकिन आपको यह भी पारित करने की आवश्यकता है grep
कि यह केवल खोज करेगा lib/util
।
केवल निम्नलिखित परिदृश्य की कल्पना करें: अन्य फ़ाइलों पर grep
समान मिल सकती है <regexp>
जो उसी संशोधन में निहित हैं rev-list
(भले ही उस संशोधन में उस फ़ाइल में कोई बदलाव नहीं हुआ हो)।
अपने स्रोत को खोजने के कुछ अन्य उपयोगी तरीके यहां दिए गए हैं:
पाठ से मेल खाने वाले पेड़ की तलाश करें जो नियमित अभिव्यक्ति से मेल खाता हो
git grep <regexp>
नियमित अभिव्यक्ति regexp1 या regexp2 से मेल खाने वाली पंक्तियों के लिए कार्यशील पेड़ खोजें:
git grep -e <regexp1> [--or] -e <regexp2>
नियमित अभिव्यक्ति regexp1 और regexp2 से मेल खाते टेक्स्ट लाइनों की खोज के लिए काम करने वाले पेड़ की खोज करें, केवल फ़ाइल पथों की रिपोर्टिंग करें:
git grep -l -e <regexp1> --and -e <regexp2>
उन फ़ाइलों के लिए कार्यशील ट्री खोजें जिनमें टेक्स्ट की पंक्तियाँ नियमित अभिव्यक्ति regexp1 से मेल खाती हैं और पाठ की पंक्तियाँ नियमित अभिव्यक्ति regexp2 से मेल खाती हैं:
git grep -l --all-match -e <regexp1> -e <regexp2>
पाठ मिलान पैटर्न की बदली हुई रेखाओं के लिए कार्यशील पेड़ खोजें:
git diff --unified=0 | grep <pattern>
पाठ से मेल खाने वाले नियमित अभिव्यक्ति के लिए सभी संशोधन खोजें:
git grep <regexp> $(git rev-list --all)
पाठ के लिए Rev1 और rev2 के बीच सभी संशोधन खोजें
git grep <regexp> $(git rev-list <rev1>..<rev2>)
git log -S
पिकैक्स सर्च अर्थात और दोष के बारे में) * ["git log --grep" के साथ मज़ा] [2] (सर्च कमिट मैसेजेस) ) * ["Git grep" के साथ मज़ा] [3] [२]: gitster.livejournal.com/30195.html [३]: gitster.livejournal.com/27674.html