এখানে তালিকাভুক্ত সমাধানগুলির সাথে কয়েকটি সমস্যা রয়েছে (এমনকি স্বীকৃতও)।
ডুপ্লিকেট পাবেন বলে আপনাকে সমস্ত হ্যাশ তালিকাভুক্ত করার দরকার নেই। এছাড়াও, এটি আরও সময় নেয়।
এটা এই উপর তৈরী করে যেখানে আপনি একটি স্ট্রিং অনুসন্ধান করতে পারেন "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"