Est-il possible de rechercher un nom de fichier particulier sur GitHub?


136

Je sais que l'interface Web GitHub vous permet de rechercher dans tous les référentiels des fichiers avec un chemin d'accès particulier (par exemple, la recherche de path:/app/models/user.rbrendements> 109k résultats), mais existe-t-il un moyen de rechercher dans tous les référentiels des noms de fichiers indépendamment de leur emplacement de sous-répertoire? J'ai essayé d'utiliser des astérisques dans l' pathargument, et cela ne semblait pas fonctionner.


quelle est la commande que vous exécutez? avez-vous essayer avec lsau lieu de trouver
meda

1
Je faisais référence à l'interface Web - c'est tout ce que j'ai essayé.
Peter Alfvin

8
Pour quiconque a voté contre, je n'ai aucune idée de la raison. Je sais que ce n'est pas une "question de programmation", mais cela ressemble à une question "d'outils de programmation" et il y a d'autres questions github sur le site. S'il s'agit de la qualité des questions, j'apprécierais plus d'informations ou un vote de clôture afin que je puisse voir à quoi vous faites référence.
Peter Alfvin

Réponses:


109

La recherche user.rb in:path fait-elle ce que vous voulez faire? Alternativement, il y a aussi cette recherche filename:user.rb

Trouvé sur: https://help.github.com/articles/searching-code/


3
l'utilisation in:path YOUR_FILENAME_HEREfonctionne très bien - et surtout, fonctionne entre les dépôts afin que vous puissiez rechercher l'ensemble des dépôts de votre organisation pour trouver quels dépôts contiennent un certain nom de fichier. Agréable!
Brad Parks

1
Ce n'est plus possible. Les recherches que vous liez renvoient l'erreur suivante: "Nous n'avons pas pu effectuer cette recherche. Doit inclure au moins un utilisateur, une organisation ou un référentiel"
hedgie

2
Oui, ils le font ... il vous suffit d'être connecté à GitHub pour que cela fonctionne. Je ne sais pas quand ils ont changé ça. C'est un problème général pour la recherche de code, pas seulement pour ces recherches spécifiques.
Orangenhain le

C'est dommage qu'il ne fasse que "le chemin contient cette chaîne n'importe où" et pas comme les globs de nom de fichier ou quelque chose comme ça: |
rogerdpack

56

Dans l'entrée de recherche, vous pouvez utiliser un filenameparamètre pour rechercher dans plusieurs référentiels, par exemple:

filename:my_filename.txt

Si vous recherchez un nom de fichier dans un référentiel spécifique, vous pouvez simplement appuyer sur tet commencer à taper le nom du fichier (voir: raccourcis clavier GH ).


2
C'est la bonne réponse. Notez qu'il n'y a pas d'espaces dans la requête.
Erik

30

GitHub a introduit FileFinder en 2011.

Essayez-le: appuyez simplement sur t sur le fichier ou la vue de répertoire de n'importe quel dépôt. [1]

Donc, vous êtes toujours limité au référentiel.

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

Une autre approche de votre question:

Puis-je utiliser Git pour rechercher des noms de fichiers correspondants dans un référentiel?


1
Oui, je savais à ce sujet et j'aurais dû le mentionner dans ma question. Il n'y a donc aucun moyen de rechercher dans les référentiels? Si non, savez-vous s'il y a une raison technique pourquoi pas?
Peter Alfvin

4
oh, alors tu as essayé some_weird_file_Youre_looking_for.ext in:pathaussi? Parce que ça marche pour moi ...
Kamiccolo

non, mais j'ai juste essayé path:user.rbet cela ne m'a donné que 324 résultats, tous qui avaient user.rbau plus haut niveau.
Peter Alfvin

Et il semble que vos résultats index.phpsoient tous au plus haut niveau.
Peter Alfvin

1
@Kamiccolo, vous devriez poster ceci comme réponse, car c'est exactement la bonne réponse! Peter Alfvin devrait l'accepter aussi ... l'essentiel est dans: chemin. Vérifié que cela fonctionne quel que soit l'emplacement du nom de fichier dans le chemin, pas seulement pour les fichiers de niveau supérieur.
Sam Salisbury

11

Dans mon cas, je voulais rechercher un nom de fichier particulier, dans tous les référentiels de mon organisation. Cela peut être fait en entrant ceci dans la zone de recherche:

org: nom -d'utilisateur-de-votre-organisation nom-de- fichier: le-nom-de-fichier

Bien sûr, faites simplement "filename: the-file-name" si vous voulez rechercher dans tout GitHub.

Je n'ai pas vu cela dans https://help.github.com/articles/searching-code/ mais j'ai découvert quand j'ai changé de contexte et GitHub a entré le filtre pour moi automatiquement.


8

Vous pouvez essayer Google. Google pour filename.txt site:github.com.


1
+1 pour ce que je suppose correspond non seulement aux noms de fichiers actuels, mais à tous les fichiers qui incluent ce texte ainsi qu'à un certain nombre de noms de fichiers des versions antérieures des référentiels.
Peter Alfvin

5

J'ai affiné la réponse @ andy-lester avec intitle:, c'est-à-dire que je veux trouver où se trouve le fichier simple_spinner_item.xmldans le code source d'Android hébergé sur github, alors je recherche sur Google cette chaîne:

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

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

0

Je voudrais clarifier la réponse de @ajain .

  1. Dans Github Web UI, vous devez déjà être dans la vue du répertoire de Reop.

entrez la description de l'image ici


  1. Ensuite, appuyez sur la Ttouche. Un outil de recherche de fichiers apparaît.

entrez la description de l'image ici


  1. Entrez un nom de fichier pour l'ouvrir.

entrez la description de l'image ici


Plus de raccourcis pour la navigation dans le code source .


-3

Appuyez simplement sur "t" et cela vous permettra de rechercher un fichier.


1
Petite précision: vous devez déjà être dans la vue du répertoire de Reop. Voir la réponse de @ Kamiccolo ci
tfantina
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.