it-swarm.com.de

Wie man auf github sucht, um genaue Treffer zu erhalten

Ich kann genaue Übereinstimmungen von Google mithilfe von Anführungszeichen wie "system <<-" suchen. Wie mache ich das gleiche für github? Ich kann es nicht zum Laufen bringen.

148
Ogrish Man

Das kannst du nicht. Der offizielle GitHub Suchregeln :

Aufgrund der Komplexität des Suchcodes gibt es einige Einschränkungen bei der Suche:

  • Es wird nur der Standardzweig berücksichtigt. In den meisten Fällen ist dies der Zweig master.
  • Nur Dateien kleiner als 384 KB können durchsucht werden.
  • Sie müssen bei der Suche nach Quellcode immer mindestens einen Suchbegriff eingeben. Beispielsweise ist die Suche nach language:go Nicht gültig, während amazing language:go Gültig ist.
  • In den Suchergebnissen können höchstens zwei Fragmente aus derselben Datei angezeigt werden. Möglicherweise enthält die Datei jedoch mehr Ergebnisse.
  • Sie können die folgenden Platzhalterzeichen nicht als Teil Ihrer Suchanfrage verwenden :
    . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]
    Bei der Suche werden diese Symbole einfach ignoriert.

Problemumgehung:

Wenn Sie in einem einzelnen Repository suchen müssen, können Sie es lokal klonen und grep verwenden, um die Zeichenfolge genau zu finden:

grep -r "system <<-" /repository_dir
112
DenisKolodin

Sie können Google direkt verwenden.

Wie wäre es damit?

"your_string_to_search" site::https://github.com
"your_string_to_search" site::https://Gist.github.com
27
mrgloom

Heute habe ich versucht, eine genaue Übereinstimmung von filter class in Dateien mit dem Namen logback.xml in einem Repo auf Github zu finden. Und ich kam mit der folgenden Frage, die den Job gemacht hat. 

"filter class" in:file filename:logback.xml

Um exakte Übereinstimmungen mit Anführungszeichen zu ermöglichen, müssen Sie Ihre Suche mit dem Modifikator "in: file" verfolgen. Die Übereinstimmungen sind nicht ganz genau, das Wort "Klasse" muss dem Wort "Filter" folgen, aber es scheint, dass es 0 oder mehr Leerzeichen oder Symbolzeichen zwischen den beiden Wörtern gibt.

11
cessationoftime

Wenn Sie zu @ mrgloom 's Antwort hinzufügen und mit Google nach Code in einer bestimmten Programmiersprache in Github suchen, können Sie in der Google-Suchleiste Folgendes tun:

  • geben Sie die gewünschte Zeichenfolge mit dem Suchoperator "intext:" an
  • fügen Sie die gewünschte Programmiersprache mit dem Operator "ext:" hinzu (d. h. "ext: py", "ext: R", "ext: rb" usw.).
  • suche in allen öffentlichen repos in github mit dem genannten "site:" operator mrgloom.

Beispiel:

intext:"%% 2 == 0" ext:R site:github.com

Google Results from the example

1
silviaegt

Wenn Ihr Paket in Debian ist, können Sie deren Codesuche verwenden, die reguläre Ausdrücke unterstützt: https://codesearch.debian.net/

0
Jan Katins