यहां सूचीबद्ध समाधानों के साथ कुछ मुद्दे हैं (यहां तक कि स्वीकार किए जाते हैं)।
आपको डुप्लीकेट मिलने के साथ सभी हैश को सूचीबद्ध करने की आवश्यकता नहीं है। साथ ही, इसमें अधिक समय भी लगता है।
यह इस पर बनाता है जहां आप "test -f /"
कई शाखाओं पर master
और इसके dev
रूप में एक स्ट्रिंग खोज सकते हैं
git grep "test -f /" master dev
जो जैसा है वैसा है
printf "master\ndev" | xargs git grep "test -f /"
तो यहाँ जाता है।
यह सभी स्थानीय शाखाओं की नोक के लिए हैश पाता है और केवल उन कमिट में खोज करता है:
git branch -v --no-abbrev | awk -F' *' '{print $3}' | xargs git grep "string/regexp"
यदि आपको दूरस्थ शाखाओं में भी खोज करने की आवश्यकता है, तो जोड़ें -a
:
git branch -a -v --no-abbrev | awk -F' *' '{print $3}' | xargs git grep "string/regexp"
आगे की:
# Search in local branches
git branch | cut -c3- | xargs git grep "string"
# Search in remote branches
git branch -r | cut -c3- | xargs git grep "string"
# Search in all (local and remote) branches
git branch -a | cut -c3- | cut -d' ' -f 1 | xargs git grep "string"
# Search in branches, and tags
git show-ref | grep -v "refs/stash" | cut -d' ' -f2 | xargs git grep "string"