Skip to main content

Grundlagen der Suchsyntax

Für Suchen auf GitHub AE kannst du Abfragen erstellen, die nach bestimmten alphanumerischen Zeichenfolgen suchen.

Abfrage nach Werten mit einem Vergleichsoperator

Du kannst >, >=, < und <= verwenden, um nach Werten zu suchen, die größer, größer oder gleich, kleiner und kleiner oder gleich einem anderen Wert sind.

AbfrageBeispiel
>ncats stars:>1000 gleicht Repositorys mit dem Begiff „cats“ (Katzen) ab, die mehr als 1000 Sterne haben.
>=ncats topics:>=5 gleicht Repositorys mit dem Begriff „cats“ (Katzen) ab, die fünf oder mehr Themen enthalten.
<ncats size:<10000 gleicht Code mit dem Begriff „cats“ (Katzen) ab, der kleiner ist als 10 KB.
<=ncats stars:<=50 gleicht Repositorys mit dem Begriff „cats“ (Katzen) ab, die 50 Sterne oder weniger haben.

Du kannst auch Bereichsabfragen verwenden, um nach Werten zu suchen, die größer oder gleich oder kleiner oder gleich einem anderen Wert sind.

AbfrageBeispiel
n..*cats stars:10..* entspricht stars:>=10 und gleicht Repositorys mit dem Begriff „cats“ ab, die zehn oder mehr Sterne haben.
*..ncats stars:*..10 entspricht stars:<=10 und gleicht Repositorys mit dem Begriff „cats“ ab, die zehn oder weniger Sterne haben.

Abfrage nach Werten innerhalb eines Wertebereichs

Mit der Bereichssyntax n..n kannst du nach Werten innerhalb eines Wertebereichs suchen. Dabei ist der erste Wert n die untere und der zweite Wert die obere Grenze des gesuchten Bereichs.

AbfrageBeispiel
n..ncats stars:10..50 gleicht Repositorys mit dem Begriff „cats“ ab, die zwischen zehn und 50 Sternen haben.

Abfrage nach Datums- und Zeitangaben

Du kannst nach Datumsangaben suchen, die früher oder später als ein anderes Datum sind, oder die in einen Bereich von Datumsangaben fallen, indem du >, >=, <, <= und Bereichsabfragen verwendest. Die Datumsformatierung muss dem ISO8601-Standard entsprechen: YYYY-MM-DD (Jahr-Monat-Tag).

AbfrageBeispiel
>YYYY-MM-DDcats created:>2016-04-29 gleicht Issues mit dem Begriff „cats“ (Katzen) ab, die nach dem 29. April 2016 erstellt wurden.
>=YYYY-MM-DDcats created:>=2017-04-01 gleicht Issues mit dem Begriff „cats“ (Katzen) ab, die am oder nach dem 1. April 2017 erstellt wurden.
<YYYY-MM-DDcats pushed:<2012-07-05 gleicht Code mit dem Begriff „cats“ (Katzen) in Repositorys ab, die vor dem 5. Juli 2012 gepusht wurden.
<=YYYY-MM-DDcats created:<=2012-07-04 gleicht Issues mit dem Begriff „cats“ (Katzen) ab, die am oder vor dem 4. Juli 2012 erstellt wurden.
YYYY-MM-DD..YYYY-MM-DDcats pushed:2016-04-30..2016-07-04 gleicht Repositorys mit dem Begriff „cats“ (Katzen) ab, die zwischen Ende April und Juli 2016 übertragen wurden.
YYYY-MM-DD..*cats created:2012-04-30..* gleicht Issues ab, die nach dem 30. April 2012 erstellt wurden und den Begriff „cats“ enthalten.
*..YYYY-MM-DDcats created:*..2012-07-04 gleicht Issues ab, die vor dem 4. Juli 2012 erstellt wurden und den Begriff „cats“ enthalten.

Du kannst nach dem Datum auch optionale Zeitinformationen im Format THH:MM:SS+00:00 hinzufügen, um nach Stunde, Minute und Sekunde zu suchen. Das heißt, T, gefolgt von HH:MM:SS (Stunden-Minuten-Sekunden) und einem UTC-Offset (+00:00).

AbfrageBeispiel
YYYY-MM-DDTHH:MM:SS+00:00cats created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00 gleicht Issues ab, die zwischen 1. Januar 2017 um 1:00 Uhr mit einem UTC-Offset vom 07:00 und 1. März 2017 um 15:00 Uhr mit einem UTC-Offset von 07:00 erstellt wurden.
YYYY-MM-DDTHH:MM:SSZcats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z gleicht Issues ab, die zwischen 21. März 2016 um 14:11 Uhr und 7. April 2016 um 20:45 Uhr erstellt wurden.

Ausschluss bestimmter Ergebnisse

Mit der Syntax NOT kannst du Ergebnisse ausschließen, die einen bestimmten Begriff enthalten. Der Operator NOT kann nur für Schlüsselwörter für Verbindungszeichenfolgen verwendet werden. Mit Zahlen oder Datumsangaben funktioniert er nicht.

AbfrageBeispiel
NOThello NOT world gleicht Repositorys ab, die den Begriff „hello“ aber nicht den Begriff „world“ enthalten.

Ebenso kannst du Deine Abfrageergebnisse durch Ausschluss bestimmter Teilmengen eingrenzen. Du kannst jedem Qualifizierer - voranstellen, um alle Ergebnisse auszuschließen, die mit diesem Qualifizierer übereinstimmen.

AbfrageBeispiel
-QUALIFIERcats stars:>10 -language:javascript gleicht Repositorys mit dem Begriff „cats“ (Katzen) ab, die mehr als zehn Sterne besitzen, jedoch nicht in JavaScript geschrieben sind.
mentions:defunkt -org:github gleicht Issues mit der Erwähnung von @defunkt ab, die sich nicht in Repositorys in der GitHub-Organisation befinden.

Anführungszeichen für Abfragen nach Zeichenfolgen mit Leerzeichen

Wenn Deine Suchabfrage Leerzeichen enthält, musst du die gesuchte Zeichenfolge in Anführungszeichen einschließen. Beispiel:

  • cats NOT "hello world" gleicht Repositorys mit dem Begriff „cats“ (Katzen) aber nicht mit den Begriffen „hello world“ ab.
  • build label:"bug fix" gleicht Issues mit dem Begriff „build“ ab, die die Bezeichnung „bug fix“ besitzen.

Bei Suchabfragen innerhalb von Code werden einige nicht alphanumerische Zeichen, so auch Leerzeichen, ignoriert, selbst wenn der Suchstring in Anführungszeichen steht. Dies führt oft nicht zum erwünschten Ergebnis.

Abfragen mit Benutzernamen

Wenn deine Abfrage einen Qualifizierer verwendet, der einen Benutzernamen verlangt, beispielsweise user, actor oder assignee, kannst du jeden GitHub AE-Benutzernamen verwenden, um eine bestimmte Person anzugeben oder @me, um den bzw. die aktuellen Benutzerin anzugeben.

AbfrageBeispiel
QUALIFIER:USERNAMEauthor:nat gleicht Commits ab, die von @nat erstellt wurden.
QUALIFIER:@meis:issue assignee:@me gleicht Issues ab, die der Person zugewiesen sind, die die Ergebnisse anzeigt.

Du kannst nur @me mit einem Qualifizierer verwenden und nicht als Suchbegriff wie @me main.workflow.