2014-10-17 31 views

Antwort

11

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

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

+7

Ich sehe keinen Unterschied im Verhalten bei der Suche mit oder ohne 'in: file'. –

46

Sie können nicht. Die offizielle GitHub searching rules:

Aufgrund der Komplexität des Codes suchen, gibt es ein paar Einschränkungen , wie Suchen durchgeführt werden:

  • Nur der Standardzweig betrachtet. In den meisten Fällen wird dies der Master-Zweig sein.
  • Nur Dateien kleiner als 384 KB sind durchsuchbar.
  • Sie müssen immer mindestens einen Suchbegriff eingeben, wenn Sie nach Quellcode suchen. Zum Beispiel, Suche nach Sprache: go ist nicht gültig, während erstaunliche Sprache: go is.
  • Die Suchergebnisse können höchstens zwei Fragmente aus derselben Datei anzeigen, aber möglicherweise sind mehr Ergebnisse in der Datei vorhanden.
  • Sie können die folgenden Platzhalterzeichen nicht als Teil Ihrer Suchanfrage verwenden:. ,:; !?/\ ` '" = * # & $ +^| ~ <>() {} [] Die Suche wird einfach diese Symbole ignorieren

UPD: Umgehung

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

grep -r "system <<-" repository_dir 
+133

Das ist schrecklich. Warum reparieren sie es nicht? Idealerweise sollte ich in der Lage sein, mit einer Regex zu suchen. Wo soll ich protestieren? :) –

+3

Ich habe einen Support gefragt und sie haben geantwortet: "Die Möglichkeit, Sonderzeichen in der GitHub-Suche zu umgehen, ist ein häufig nachgefragtes Feature. Ich kann zwar keine Versprechungen machen, aber ich werde die Idee auf unserer internen Funktionsanfrage erwähnen Liste.". Ich denke, es hängt von der Indexgröße ab: zu viel Code, den github enthält. – DenisKolodin

+0

Aber was ist mit @, kann ich nicht nach \t "@Coercion" zum Beispiel suchen .. – Xelian

9

Sie Google direkt verwenden können

.

Wie wäre es damit?

"your_string_to_search" site::https://github.com 
"your_string_to_search" site::https://gist.github.com 
+22

Geht das nicht davon aus, dass Google Zugriff auf Ihr Repo hat? Das sollte bei privaten Repos nicht der Fall sein. –

+0

@JoelB Ich weiß nicht, ich denke, Google-Index nur offene Repos. – mrgloom

+0

funktioniert es in Repos, wie: '" alias agi = "site :: https: // github.com/robbyrussell/oh-my-zsh' – juanpastas

Verwandte Themen