ฉันจะหลีกเลี่ยงอักขระในการค้นหารหัส GitHub ได้อย่างไร


106

ฉันพยายามที่จะใช้ค้นหารหัส GitHub ของการค้นหาสำหรับสายของตัวละครที่มีรหัสชอบบางส่วน=, +ฯลฯ

ฉันเข้าใจจากhttps://help.github.com/articles/searching-code/#considerations-for-code-searchว่าอักขระเหล่านี้เป็นสัญลักษณ์แทนและต้องมีการหลีกเลี่ยงมิฉะนั้นจะถูกละเว้น

นี่คือตัวอย่าง: "ถ้า \ (ทำคือทรู \)"และอีก: "ถ้า (ทำคือทรู)"

ทั้งสองแสดง"your query contains a character that is ignored"คำเตือนเดียวกันทางด้านขวาของแถบค้นหา การหลบหนีของฉันดูเหมือนจะไม่ได้ทำอะไรเลยและผลลัพธ์ที่ฉันได้รับคือตัวละครที่ถูกเพิกเฉย

คำตอบ:


129

ฉันไม่คิดว่าคุณสามารถหลบหนีอักขระสำหรับ github ได้

จากการค้นหารหัส doc:

คุณไม่สามารถใช้อักขระตัวแทนต่อไปนี้เป็นส่วนหนึ่งของคำค้นหาของคุณ: ,:; / \ `'" = *!? # $ & + ^ | ~ <> () {} []การค้นหาจะไม่สนใจสัญลักษณ์เหล่านี้


12
ใช่ฉันเห็นสิ่งนั้น ไม่มีทางที่จะหลบหนีตัวละครเหล่านี้? หมายความว่าถ้าฉันต้องการค้นหา repo ของฉันx += 2ไม่มีทางทำเช่นนั้น?
Eli Rose - REINSTATE MONICA

1
ไม่ฉันคิดว่า github ได้กำหนดค่า elasticsearch ด้วยวิธีนี้เพื่อลดความซับซ้อนเท่านั้น
ChintanShah25

14
เกี่ยวกับอะไร@?
ผู้ใช้

22
เจอสิ่งนี้; ค้นหารหัสไร้ประโยชน์ ! ฉันต้องไปหาทุกกรณี:okและ:lockedใน Ruby on Rails codebase การค้นหาที่เส็งเคร็งของ Github ไม่อนุญาตให้ทำเช่นนี้

3
@User: ตามปัญหานี้ , @ได้รับการกล่าวถึงไม่ได้อยู่ในรายการ แต่ไม่มีการตอบสนองยังเป็นของ
Quantum Mechanic

4

คุณจะต้องดำเนินการนี้ในพื้นที่ นี่คือตัวเลือกบางส่วนจากhttps://stackoverflow.com/a/38288679/362202 :

  • โคลนเว็บไซต์แหล่ง github ของ บริษัท คุณ
  • ทำภายในเครื่องgit grepซึ่งรองรับ regexp พื้นฐานหรือ POSIX regexp ( git grep -E) แบบขยาย
  • หรือการค้นหาพลั่ว (git log --all -S...
  • หรือgit rev-list --all|grep xxxซึ่งอนุญาตให้ใช้ regexp

กลยุทธ์เหล่านี้ใช้ไม่ได้กับการค้นหาทั่วทั้ง Github ซึ่งเป็นเรื่องที่น่าเสียดาย


5
จะเกิดอะไรขึ้นถ้าคุณมีที่เก็บมากกว่า 1,000 แห่งเพื่อค้นหา
hfm

2
จะเป็นอย่างไรถ้าฉันต้องการแบ่งปันผลลัพธ์กับคนอื่น .... ตามที่คาดหวังจากไซต์เช่น github ที่คาดว่าจะมีการทำงานร่วมกัน
Christian

3

มีอีกหนึ่ง (บางคนอาจจะบอกว่าน่าอับอาย) กึ่ง -solution / วิธีแก้ปัญหา: การใช้ Google ...

ในช่องค้นหาให้ป้อนsite:repo-urlเพิ่มเติมจากคำหลักของคุณ

ฉันกำลังค้นหาaction$ใน repo ตรรกะ redux และอย่างน้อยก็สามารถกรองactionผลลัพธ์อื่น ๆ ที่ไม่ต้องการทั้งหมด(โดยไม่มีเครื่องหมายดอลลาร์) ซึ่งปรากฏในการค้นหา github ฉันพิมพ์ใน Google (ใส่ใจกับคำพูด):

เว็บไซต์: https: //github.com/jeffbski/redux-logic "action $"

น่าเสียดายที่ Google จะไม่แสดงผลลัพธ์ทั้งหมด นั่นเป็นเหตุผลว่าทำไมฉันจึงเขียนแบบกึ่งตอนแรก ดังนั้นคุณสามารถลองเสี่ยงโชคได้อย่างรวดเร็วด้วย google หากคุณไม่พบสิ่งที่คุณกำลังมองหาทางเลือกอื่นในการตรวจสอบการค้นหา git repo + ด้วยเครื่องมือออฟไลน์เช่น vscode, intellij หรือ cmd-line-tools ตามที่@Ran แนะนำ เคย - ฮาดานี

ฉันหวังว่า github จะมาพร้อมกับคุณสมบัติการค้นหาใหม่ล่าสุดซึ่งผู้ใช้สามารถชื่นชอบแทนที่จะเกลียดชัง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.