มีปัญหาเล็กน้อยเกี่ยวกับวิธีแก้ไขปัญหาที่แสดงไว้ที่นี่ (ยอมรับแล้ว)
คุณไม่จำเป็นต้องแสดงรายการแฮชทั้งหมดเนื่องจากคุณจะได้รับข้อมูลซ้ำ นอกจากนี้ยังใช้เวลามากขึ้น
มันสร้างที่นี่ซึ่งคุณสามารถค้นหาสตริง"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"