Ist es möglich, auf GitHub nach einem bestimmten Dateinamen zu suchen?


134

Ich weiß, dass Sie mit der GitHub-Weboberfläche alle Repositorys nach Dateien mit einem bestimmten Pfadnamen durchsuchen können (z. B. nach path:/app/models/user.rbErträgen> 109.000 Ergebnissen suchen ). Gibt es jedoch eine Möglichkeit, alle Repositorys unabhängig von ihrem Speicherort im Unterverzeichnis nach Dateinamen zu durchsuchen? Ich habe versucht, Sternchen in dem pathArgument zu verwenden, und das schien nicht zu funktionieren.


Was ist der Befehl, den Sie ausführen? Haben Sie versucht, lsstatt zu finden
Meda

1
Ich bezog mich auf das Webinterface - das ist alles, was ich versucht habe.
Peter Alfvin

8
Wer auch immer herabgestimmt hat, ich habe keine Ahnung, warum. Ich weiß, dass dies keine "Programmierfrage" ist, aber es scheint eine "Programmierwerkzeug" -Frage zu sein, und es gibt andere Github-Fragen auf der Site. Wenn es um die Qualität von Fragen geht, würde ich mich über weitere Informationen oder eine Abstimmung zum Abschluss freuen, damit ich sehen kann, worauf Sie sich beziehen.
Peter Alfvin

Antworten:


106

Macht die Suche user.rb in:path das, was Sie wollen? Alternativ gibt es auch diese Suche filename:user.rb

Gefunden unter: https://help.github.com/articles/searching-code/


3
Die Verwendung in:path YOUR_FILENAME_HEREfunktioniert hervorragend - und vor allem funktioniert Cross Repo, sodass Sie die Repos Ihres gesamten Unternehmens durchsuchen können, um herauszufinden, welche Repos einen bestimmten Dateinamen enthalten. Nett!
Brad Parks

1
Dies ist nicht mehr möglich. Die Suchanfragen, die Sie verknüpfen, geben den folgenden Fehler zurück: "Wir konnten diese Suche nicht durchführen. Muss mindestens einen Benutzer, eine Organisation oder ein Repository enthalten"
Hedgie

2
Ja, das tun sie ... Sie müssen nur bei GitHub angemeldet sein, damit es funktioniert. Ich weiß nicht, wann sie das geändert haben. Es ist ein allgemeines Problem bei der Codesuche, nicht nur bei diesen spezifischen Suchen.
Orangenhain

Es ist schade, dass es nur "Pfad enthält diese Zeichenfolge überall" und nicht wie Dateinamen-Globs oder ähnliches: |
Rogerdpack

56

In der Sucheingabe können Sie filenameParameter verwenden, um in mehreren Repositorys zu suchen, zum Beispiel:

filename:my_filename.txt

Wenn Sie in einem bestimmten Repository nach einem Dateinamen suchen, können Sie einfach tden Dateinamen drücken und eingeben (siehe: GH-Tastaturkürzel ).


2
Dies ist die richtige Antwort. Beachten Sie, dass die Abfrage keine Leerzeichen enthält.
Erik

30

GitHub führte FileFinder 2011 ein.

Probieren Sie es aus: Drücken Sie einfach t in der Datei- oder Verzeichnisansicht eines Repos. [1]

Sie sind also immer noch auf das Repository beschränkt.

[1] https://github.com/blog/793-introducing-the-file-finder

Ein weiterer Ansatz für Ihre Frage:

Kann ich mit Git nach passenden Dateinamen in einem Repository suchen?


1
Ja, ich wusste davon und hätte es in meiner Frage erwähnen sollen. Es gibt also keine Möglichkeit, über Repositorys hinweg zu suchen. Wenn nicht, wissen Sie, ob es einen technischen Grund gibt, warum nicht?
Peter Alfvin

4
Oh, also hast du es auch versucht some_weird_file_Youre_looking_for.ext in:path? Weil es für mich funktioniert ...
Kamiccolo

Nein, aber ich habe es gerade versucht path:user.rbund es gab mir nur 324 Ergebnisse, alle auf höchstem user.rbNiveau.
Peter Alfvin

Und es sieht so aus, als ob Ihre Ergebnisse für index.phpalle ebenfalls auf höchstem Niveau liegen.
Peter Alfvin

1
@Kamiccolo du solltest dies als Antwort posten, denn das ist genau die richtige Antwort! Peter Alfvin sollte es auch akzeptieren ... das Wichtige ist: Pfad. Es wurde überprüft, ob es funktioniert, unabhängig davon, wo sich der Dateiname im Pfad befindet, nicht nur für Dateien der obersten Ebene.
Sam Salisbury

11

In meinem Fall wollte ich in allen Repositorys meiner Organisation nach einem bestimmten Dateinamen suchen. Dies können Sie tun, indem Sie dies in das Suchfeld eingeben:

org: your-Organisation-User-Name Dateiname: der Dateiname

Natürlich machen Sie einfach "Dateiname: der-Dateiname", wenn Sie den gesamten GitHub durchsuchen möchten.

Ich habe dies nicht in https://help.github.com/articles/searching-code/ gesehen, aber herausgefunden, als ich den Kontext gewechselt habe, und GitHub hat den Filter automatisch für mich eingegeben.


8

Sie können Google ausprobieren. Google für filename.txt site:github.com.


1
+1 für das, was ich annehme, stimmt nicht nur mit den aktuellen Dateinamen überein, sondern auch mit allen Dateien, die diesen Text enthalten, sowie mit einigen Dateinamen aus früheren Versionen der Repositorys.
Peter Alfvin

5

Ich habe die Antwort von @ andy-lester mit verfeinert intitle:, dh ich möchte herausfinden, wo sich die Datei simple_spinner_item.xmlim auf github gehosteten Android-Quellcode befindet. Deshalb suche ich bei Google nach dieser Zeichenfolge:

site:github.com intitle:simple_spinner_item.xml github.com/android

^                       ^                       ^
|                       |                       |
on github site          |                       |
                        |                       |
filename I'm searching -+                       |
                                                |
github user ------------------------------------+

0

Ich möchte die Antwort von @ajain klarstellen .

  1. In der Github Web-Benutzeroberfläche müssen Sie sich bereits in der Verzeichnisansicht von Reop befinden.

Geben Sie hier die Bildbeschreibung ein


  1. Drücken Sie dann die TTaste. Ein Dateisucher wird angezeigt.

Geben Sie hier die Bildbeschreibung ein


  1. Geben Sie einen Dateinamen ein, um ihn zu öffnen.

Geben Sie hier die Bildbeschreibung ein


Weitere Verknüpfungen zum Durchsuchen des Quellcodes .


-3

Drücken Sie einfach "t" und Sie können nach einer Datei suchen.


1
Ein bisschen Klarstellung: Sie müssen sich bereits in der Verzeichnisansicht von Reop befinden. Siehe @ Kamiccolos Antwort unten
tfantina
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.