যদিও ididak প্রতিক্রিয়া বেশ কুল, এবং Handyman5 এটি ব্যবহার করতে একটি স্ক্রিপ্ট প্রদান করে, আমি এটা একটু যে পদ্ধতির ব্যবহার মানা পাওয়া যায় নি।
কখনও কখনও আপনাকে এমন কিছু সন্ধান করতে হবে যা সময়ের সাথে সাথে উপস্থিত / অদৃশ্য হয়ে যেতে পারে, তবে কেন সমস্ত কমান্ডের বিরুদ্ধে অনুসন্ধান করা হবে না? তদ্ব্যতীত, কখনও কখনও আপনার একটি ভারবস প্রতিক্রিয়া প্রয়োজন, এবং অন্যান্য সময় শুধুমাত্র ম্যাচ কমিট। এই বিকল্পগুলির দুটি সংস্করণ এখানে। এই স্ক্রিপ্টগুলি আপনার পথে রাখুন:
Git খুঁজতে ফাইল
for branch in $(git rev-list --all)
do
if (git ls-tree -r --name-only $branch | grep --quiet "$1")
then
echo $branch
fi
done
Git খুঁজতে-ফাইল-বাগাড়ম্বরপূর্ণ
for branch in $(git rev-list --all)
do
git ls-tree -r --name-only $branch | grep "$1" | sed 's/^/'$branch': /'
done
এখন আপনি করতে পারেন
$ git find-file <regex>
sha1
sha2
$ git find-file-verbose <regex>
sha1: path/to/<regex>/searched
sha1: path/to/another/<regex>/in/same/sha
sha2: path/to/other/<regex>/in/other/sha
দেখুন যে getopt ব্যবহার করে আপনি সমস্ত স্ক্রিপ্ট, রেফস, রেফ / হেডস, ভার্বোজ হয়েছে ইত্যাদি বিকল্প অনুসন্ধানে সেই স্ক্রিপ্টটি সংশোধন করতে পারেন
$ git find-file <regex>
$ git find-file --verbose <regex>
$ git find-file --verbose --decorated --color <regex>
একটি সম্ভাব্য প্রয়োগের জন্য https://github.com/albfan/git-find-file চেকআউট করুন ।